Непонятная иерархическая структура Google Maps API - PullRequest
0 голосов
/ 13 сентября 2018

Если я геокодирую регионы и / или адреса, API карт Google возвращает нелогичные географические результаты.Иногда город возвращается в качестве административного района, а иногда тот же город возвращается в качестве населенного пункта.Зачем?Я просто не понимаю логику.

Например, если я геокодирую "Neerijnen, Nederland" (https://maps.googleapis.com/maps/api/geocode/xml?address=Neerijnen,Nederland), я получаю следующий результат:

  • Страна:Nederland
  • Административный район уровня 1: Гелдерланд
  • Административный район уровня 2 : Neerijnen

Если я геокодирую и адрес в одном городе,Google возвращает его в качестве населенного пункта. Если я геокодирую "Van Pallandtweg 11, 4182 CA Neerijnen, Nederland", я получаю следующий результат:

  • Страна: Нидерланды
  • Административная область уровня 1:Гелдерланд
  • Населенный пункт : Neerijnen
  • Улица: Van Pallandtweg
  • и т. Д.

Может кто-нибудь объяснить логику?

1 Ответ

0 голосов
/ 13 сентября 2018

API геокодирования предназначен для преобразования адресной строки в координаты или наоборот. Чтобы получить лучшие результаты, вы должны предоставить полный адрес в формате, поддерживаемом национальной почтовой службой. Когда вы указываете строку типа Neerijnen, Nederland, это не считается полным адресом улицы, а является неполным или неоднозначным запросом. Действительно, Neerijnen - это муниципалитет и город в Нидерландах, поэтому в базе данных Google есть одноименный административный район и населенный пункт. API геокодирования предназначен для возврата наилучшего соответствия для прямого геокодирования (обычно только один результат). В случае двусмысленности, как в вашем примере, Google выберет результат с более высоким баллом (значимостью) в соответствии с внутренними критериями. Я не могу сказать, почему администраторская область 2 имеет более высокий балл, потому что я не из Google.

Вы можете видеть границы административного района

https://maps.google.com/?q=Neerijnen,+Netherlands&ftid=0x47c6f414182c45d5:0xb34aa41b420fdfa4

и границы населенного пункта

https://maps.google.com/?q=4182+Neerijnen,+Netherlands&ftid=0x47c6f4192fae3201:0x9c3d72f48c595a87

Существует статья о передовом опыте в API геокодирования, которая также охватывает случай неполных и неоднозначных запросов:

https://developers.google.com/maps/documentation/geocoding/best-practices

Надеюсь, это поможет!

...