Google геокодирует и размещает api, которые возвращают неверные результаты с учетом долготы

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

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


Оба

API мест

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

а также

API геокодирования

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

return: "8-14 Little Queensberry St, Carlton VIC 3053, Australia"


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

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

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

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

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




Ответы (1)


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

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/maps/documentation/utils/geocoder/#q%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

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

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

person xomena    schedule 11.09.2018