Запрос Google Maps API только с почтовым индексом дает неверные результаты - PullRequest
0 голосов
/ 25 сентября 2018

Мы используем API Карт Google, и когда пользователь вводит 5-значный почтовый индекс, результаты в большинстве случаев являются правильными;он обрабатывает входные данные как почтовый индекс и возвращает результаты на основе этого местоположения.

Проблема, на которую мы обратили внимание, состоит в том, что запросы на определенные почтовые индексы (42025 - наш основной пример) НЕ возвращают ожидаемые результаты.(Бентон, Кентукки).Вызов API фактически возвращает «status»: «ZERO_RESULTS».Подобный поиск на maps.google.com иногда дает положительный результат, но только если Benton, KY уже использует большую часть области просмотра.Обходной путь - добавить термин «zip» в строку запроса.

Мое расследование показало, что в неудачных результатах, как представляется, используется 5-значная строка, как будто адрес улицы, который ничего не находит.В результате запроса «42020» отображается адрес, например, рядом с Вашингтоном.

Кто-нибудь сталкивался с этой проблемой?Любые предложения о том, как решить эту проблему?

1 Ответ

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

Я бы предложил использовать компонентную фильтрацию в ваших запросах геокодера для получения почтовых индексов.

Ваши запросы будут переписаны как

https://maps.googleapis.com/maps/api/geocode/json?components=postal_code%3A42025%7Ccountry%3AUS&key=YOUR_API_KEY

https://maps.googleapis.com/maps/api/geocode/json?components=postal_code%3A42020%7Ccountry%3AUS&key=YOUR_API_KEY

Оба запроса возвращают мне ожидаемые результаты.Вы также можете увидеть это в инструменте Geocoder:

https://google -developers.appspot.com / maps / document / utils / geocoder / # q% 3D% 26options% 3Dtrue% 26in_country% 3DUS%26in_postal_code% 3D42025

https://google -developers.appspot.com / карты / документация / utils / геокодер / # q% 3D% 26options% 3Dtrue% 26in_country% 3DUS% 26in_postal_code% 3D42020

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

...