Как легко получить почтовый индекс с общего адреса с API Google Maps? - PullRequest
11 голосов
/ 31 июля 2011

Я пытаюсь получить почтовый индекс общего адреса, такого как "Лос-Анджелес, Калифорния". Когда я делаю это:

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. Есть ли способ заставить Google изначально дать мне почтовый индекс?

1 Ответ

11 голосов
/ 31 июля 2011

Почему бы не использовать (например, 1600 + Амфитеатр + Паркуэй, + Mountain + View - ваш адрес)

http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true_or_false

А затем проанализировать JSON для

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

см. Здесь -> http://code.google.com/apis/maps/documentation/geocoding/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...