Google Map Geocoding не возвращает широту/долготу для действительного полного адреса

Я столкнулся со странной проблемой с Google Maps Geocoding API v3. Он отлично работает для всех других адресов, которые я пробовал до сих пор, но у меня возникает проблема со следующим адресом.

35 & 36, Rajiv Gandhi Infotech Park, Pune, 411057, Индия ИЛИ Участок № 35/36, Rajiv Gandhi Infotech Park, Phase 1, MIDC, Hinjawadi, Pune, 411057, India Даже для: Rajiv Gandhi Infotech Park, Pune, 411057, Индия

GeocoderStatus — ZERO_RESULTS.

Ниже приведен фрагмент кода.

var geocoder = new google.maps.Geocoder();
              geocoder.geocode({
                  'address' : address
              },
              function (results, status) {
                  if (status == google.maps.GeocoderStatus.OK) {
                     ....
                   }
                   else{...}

Однако тот же адрес возвращает действительные широту/долготу со статусом «ОК» в результате json по ссылке ниже.

http://maps.googleapis.com/maps/api/geocode/json?address=35&36+Rajiv+Gandhi+Infotech+Park,+Pune,+411057,+India&sensor=true

Может ли кто-нибудь сказать мне, в чем причина этой проблемы и ее решение?


person user972810    schedule 11.12.2011    source источник
comment
Прочитайте данные, которые вы получаете по ссылке — это возвращающиеся местоположения со всего мира, но ни одно из них не находится в Индии. Думаю, если бы ваша карта была сосредоточена в Индии, ни один из них не был бы виден. Довольно странно, что API не находит его — Google Maps отлично находит адрес.   -  person Andrey    schedule 11.12.2011


Ответы (1)


Возможно, этот конкретный адрес был недавно добавлен в базу данных Google.

Почему геокодеры Google Maps API предоставляют разные местоположения, чем Google Maps?

Геокодер API и геокодер Google Maps иногда используют разные наборы данных (в зависимости от страны). Геокодер API время от времени обновляется новыми данными, поэтому вы можете ожидать изменения или улучшения результатов с течением времени.

взято из: http://code.google.com/apis/maps/faq.html#geocoder_differences

person Riyono    schedule 11.12.2011
comment
При дальнейшем изучении этой проблемы я обнаружил, что причина не в том, что этот адрес новый или не в базе данных геокодера, а в почтовом индексе. Когда я удаляю почтовый индекс, он дает мне правильные координаты широты и долготы. Теперь, насколько я мог видеть, это происходит только с адресами Индии. Одним из решений было бы удалить этот почтовый индекс, но они не будут возвращать точные результаты для других адресов. Более того, почему это вообще происходит, когда API геокодирования принимает почтовый индекс во входном адресе? - person user972810; 15.12.2011