Google Geo Code API не фильтрует результаты для Люксембурга

Я фильтрую результаты для кода страны LU. Все еще получаю результаты для США

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

Я что-то здесь не так делаю?

2 ответа

Решение

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

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

Примечание. Каждый компонент адреса может быть указан только в параметре адреса или в качестве фильтра компонента, но не в обоих случаях. Это может привести к 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.

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

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

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

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

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

Справедливое раскрытие: я работаю в SmartyStreets, компании по проверке адресов.

Другие вопросы по тегам