我想獲得通用地址的郵政編碼,例如「los angeles,ca」。當我這樣做:如何輕鬆從谷歌地圖api的通用地址獲取郵編?
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...}]
我得到它返回一個對象不具有一個郵政編碼。不過,如果我再從該返回的對象的位置,那我就可以訪問到郵編:
gcode.geocode({'latLng': results[0].geometry.location}, function(results, status) { log(results[0].address_components[7].long_name) });
>> "90012"
..但這似乎浪費,因爲我不得不作出兩次調用API來做到這一點..有什麼辦法,迫使谷歌最初給我的郵編?
洛杉磯是一個巨大的城市。我認爲洛杉磯有不止一個郵政編碼,而經緯線只是他們定義的一點,恰好在洛杉磯。如果是這種情況,你描述的行爲是有道理的。 –
但即使使用像「Beverly Hills,CA」這樣的小城市也不會返回一個郵政編碼...難道不可能告訴Google只給我一個估計的郵政編碼而不用兩次去API? – patrick
貝弗利山還有好幾處。我認爲Google API幾乎不會爲您提供郵政編碼信息,因爲每個城市幾乎都有多個郵政編碼。你必須處理這種情況,不管是否有一些較小的案例給出了郵政編碼。這聽起來像你只需要撥打多個電話...... –