Так что у меня этот конкретный адрес: Rijtakker 22, Meijel, Нидерланды Это просто обычный адрес, который известен Google Maps, как показано на www.google.nl/maps/place/Rijtakker+22,+5768+Meijel/@51.3482599,5.8857767,17z/data=!3m1!4b1!4m5!3m4!1s0x47c7379f181928e7:0x2a2900b2927e2ebc!8m2!3d51.3482566!4d5.8879654?hl=nl
.Google Maps обратного геокодирования не возвращает правильный/точный адрес
В одном из моих (ASP.NET) приложений я создал веб-пользовательский элемент управления, где пользователь вводит адрес в поле Google Maps-esque, он содержит предложения, делает автозаполнение и т. Д. Все довольно стандартные и основанные на стандартном поведении Google Maps API/образцах кода документации, показаны in this image. Когда пользователь выбирает адрес, на карте появляется один или несколько объектов Marker. Если применим только один маркер, позиция маркера (lat, lng) записывается в скрытое поле, если применяются несколько маркеров, позиция (lat, lng) щелчка маркера записывается в одно и то же скрытое поле. После PostBack WebRequest преобразуется в URL-адрес обратного геокодирования, чтобы получить всю информацию о адресе. Еще раз, все довольно стандартно. В случае вышеуказанного адреса, Лат и LNG возвращаемые значения в XML являются 51,3482464 и 5,8879746999999725
Первая странная вещь в том, что, когда я использую геокодирования URL, чтобы преобразовать адрес в широту и долготу, я получаю разные результаты, чем маркеры в моем элементе управления Google Карт. В ссылке maps.googleapis.com/maps/api/geocode/xml?address=Rijtakker%2022,%20Meijel,%20Netherlands
возвращается
<location>
<lat>51.3482464</lat>
<lng>5.8879747</lng>
</location>
В любом случае, когда обратное геокодирование как долготы и широты значение возвращает диапазон адресов, или в Google точку зрения API маршрута, а не speficic street_address: Rijtakker 2-40 , 5768 Мейдель, Нидерланды. Вместо фактического правильного адреса. Я использую обратный URL-адрес геокодирования (maps.googleapis.com/maps/api/geocode/xml?latlng=51.3482464,5.8879746999999725
или maps.googleapis.com/maps/api/geocode/xml?latlng=51.3482464,5.8879747
), или я использую примеры карт в документации API Карт Google (developers.google.com/maps/documentation/javascript/examples/geocoding-reverse
)
Что я делаю неправильно? Есть ли какое-то ограничение в (обратном) процессе геокодирования, где не каждый адрес может быть точно преобразован?
Получил еще один странный адрес: Zilleveld 7, Neeritter, Netherlands. Адрес известен в Картах Google, но по адресу http://maps.googleapis.com/maps/api/geocode/xml?address=Zilleveld+7,+Neeritter,+Netherlands возвращает маршрут, а не уличный адрес. Может быть, много адресов в API пока неизвестно? –
Это может быть ситуация [partial_matches] (https://developers.google.com/maps/documentation/javascript/geocoding#GeocodingResponses) partial_match указывает, что геокодер не вернул точное соответствие для исходного запроса, хотя он смог сопоставить часть запрошенного адреса. Вы можете изучить первоначальный запрос на орфографические ошибки и/или неполный адрес. Этот [поток] (http://gis.stackexchange.com/questions/80838/how-to-get-accurate-coordinates-from-google-geocoding-services) также может быть похож на ваше затруднительное положение. – noogui
Правильность написания; в отношении пользовательского контроля также используются «предложения» (Google API). –