Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps 如何使用google maps api从通用地址轻松获取zipcode?_Google Maps_Geolocation - Fatal编程技术网

Google maps 如何使用google maps api从通用地址轻松获取zipcode?

Google maps 如何使用google maps api从通用地址轻松获取zipcode?,google-maps,geolocation,Google Maps,Geolocation,我正在尝试获取通用地址的邮政编码,如“加利福尼亚州洛杉矶”。当我这样做时: gcode = new google.maps.Geocoder() gcode.geocode({'address': 'Los Angeles, CA'}, function(results, status) { log(results); }); >> [Object { address_components=[4], formatted_address="Los Angeles, CA, USA",

我正在尝试获取通用地址的邮政编码,如“加利福尼亚州洛杉矶”。当我这样做时:

gcode = new google.maps.Geocoder()
gcode.geocode({'address': 'Los Angeles, CA'}, function(results, status) { log(results); });
>> [Object { address_components=[4], formatted_address="Los Angeles, CA, USA", geometry={...}, more...}]
我得到一个返回的没有zipcode的对象。。。但是,如果我获取从中返回的location对象,那么我确实可以访问zipcode:

gcode.geocode({'latLng': results[0].geometry.location}, function(results, status) { log(results[0].address_components[7].long_name) });
>> "90012"
。。但这似乎是浪费,因为我必须对API进行两次调用才能做到这一点。。有没有办法强迫谷歌最初给我一个zipcode?

为什么不使用(例如1600+圆形剧场+公园道,+Mountain+View是你的地址)

然后解析用于

"long_name": "94043",
  "short_name": "94043",
  "types": [ "postal_code" ]
} ]

请看这里->

洛杉矶是一座巨大的城市。我假设洛杉矶有不止一个邮政编码,lat/long只是他们定义的某个点,恰好在洛杉矶。如果是这样的话,你描述的行为是有道理的。但是即使使用像“加州贝弗利山庄”这样的小城市也不会返回zipcode。。。难道不可能告诉谷歌只给我一个估计的zipcode而不去两次API吗?比佛利山庄还有几个。我认为GoogleAPI将无法几乎统一地提供邮政编码信息,因为每个城市几乎总是有多个邮政编码。你必须处理这个案件,不管一些小案件是否有邮政编码。听起来你只需要打多个电话……嗯。。这对我来说仍然很奇怪,因为“加州贝弗利山庄”会给我一个lat&lng。。lat和lng对应一个zipcode。。。那么,为什么它不提供所有与lat和lng相关的数据呢?但是,正如我在问题中所说的,我需要获得一个通用位置的zipcode,比如“加利福尼亚州贝弗利山”。不是一个具体的地址……我认为这个答案不应该被否决,因为最初的海报似乎被错误地告知了邮政编码在美国是如何工作的。5位数邮政编码的最后两位数通常决定城市的面积,而不是他想要的城市本身。前三位数字将与州和地区相对应。他从他的第二个查询中得到了一个邮政编码,因为他将坐标引入到一个谷歌API可以确定邮政编码的区域。这不是答案。有时邮政编码包含在没有“类型”的地址中:[“邮政编码”]
"long_name": "94043",
  "short_name": "94043",
  "types": [ "postal_code" ]
} ]