Google геокод и местами Apis оба возвращают неправильные результаты в течение долгого времени - PullRequest
0 голосов
/ 11 сентября 2018

В настоящее время я создаю приложение на основе определения местоположения, которое полагается на широту и долготу устройств, должным образом переведенных в текстовое местоположение.

Моя текущая проблема заключается в следующем (на примере lat / long -37.8047079,144.9641467):


Оба

API мест

https://maps.googleapis.com/maps/api/place/textsearch/json?query=-37.8047079,144.9641467&key

и

Geocode API

https://maps.googleapis.com/maps/api/geocode/json?address=-37.8047079,144.96414677&key

возврат: "8-14 Little Queensberry St, Carlton VIC 3053, Австралия"


Однако по тем или иным причинам, когда тот же самый длинный лонг введен в сами карты Google, это приводит к расположению 135 Queensberry St, Carlton VIC 3053

Что является для меня серьезной проблемой из-за того, что API маршрутов возвращает тот же более поздний адрес Вызывает несоответствие между двумя службами

Я делаю что-то не так, и если нет, есть ли способ обойти это?

Обратите внимание, что второй адрес - это тот, который я считаю "правильным"

Заранее спасибо!

1 Ответ

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

При выполнении обратного геокодирования вместо параметра address следует использовать параметр latlng. Так что запрос

https://maps.googleapis.com/maps/api/geocode/json?latlng=-37.8047079%2C144.96414677&key=MY_API_KEY

возвращает несколько предметов. Первый Shop2/143 Queensberry St, Carlton VIC 3053 типа заведения, ресторан, а второй 135 Queensberry St, Carlton VIC 3053, Australia типа street_address.

Вы можете увидеть эти результаты в инструменте Geocoder:

https://google -developers.appspot.com / карты / документы / Utils / геокодер / # д% 3D-37,804708% 252C144.964147

Похоже, ресторан ближе к той координате, которую вы указали. Однако, если вы хотите вернуть адрес улицы, просто отфильтруйте результаты обратного геокодирования по типу адреса улицы.

https://maps.googleapis.com/maps/api/geocode/json?latlng=-37.8047079%2C144.96414677&result_type=street_address&key=YOUR_API_KEY

Этот запрос вернет ожидаемый результат.

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

...