ответ

1

В документации говорится, что вы не можете использовать страну как в адресном, так и в компонентном фильтрах. Делая это, вы можете получить непредсказуемое поведение.

https://developers.google.com/maps/documentation/geocoding/intro#ComponentFiltering

Примечание: Каждый адрес компонент может быть указан только либо в параметре адреса или в качестве компонента фильтра, но не оба. Это может привести к ZERO_RESULTS.

Таким образом, ваш запрос должен быть

https://maps.googleapis.com/maps/api/geocode/json?address=4321&components=country%3ALU&key=YOUR_API_KEY

Не уверен, что означает 4321. Если это почтовый индекс, я думаю, что отсутствует из базы данных Google, потому что

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

возвращает ZERO_RESULTS.

+0

4321 - действительный почтовый индекс в Люксембурге, я не знаю, почему Google не узнает его. Это вопрос с их стороны? –

+0

Вы можете использовать ссылку «Сообщить о проблеме», чтобы повысить проблему с данными. https://support.google.com/maps/answer/162873 Надеюсь, это поможет! – xomena

0

Нет, вы не сделали большой ошибки; ваш API-вызов должен работать нормально. Я считаю, что это ошибка в API Google, но теперь она исправлена. (Когда я перехожу к the url you asked about, я получаю правильный ответ JSON, который не упоминает США.) (Если вы сообщили об ошибке, возможно, вы заслужили кредит за исправление!)

Причина, по которой были проблемы изначально потому, что Google не является службой проверки адреса или стандартизации. Анализ сложный по многим причинам: например, могут быть странные варианты написания или пунктуация. Google очень хорошо разбирается в поисковых запросах.

Но есть дополнительная проблема: как мы узнаем, какие части соответствуют городу или государству? «Грузия» - это государство в США и стране. Должна ли «12 34 St Helena WA 85102» соответствовать «34 улице» или дороге под названием «Святой Елены»?

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

Таким образом, вы, скорее всего, столкнетесь с такими проблемами, как это в будущем, особенно если вы используете неоднозначные адреса. Возможно, вы захотите попробовать выполнить проверки валидации, особенно если вы работаете с почтой и отправкой.

Справедливое раскрытие информации: Я являюсь сотрудником SmartyStreets, адресной валидационной компании.

 Смежные вопросы

  • Нет связанных вопросов^_^