В этом FAQ рассматриваются вопросы, специфичные для API геокодирования. Обратитесь к FAQ по платформе Google Maps для вопросов, общих для всех платформ Google Maps. См. также Best Practices When Geocoding Addresses .
Поиск неисправностей
- Я получаю больше запросов, которые возвращают ZERO_RESULTS с геокодером. Что происходит?
- Мне нужны быстрые ответы, а геокодер слишком медленный для моего приложения. Что я могу использовать для более быстрых ответов?
- Как можно уменьшить задержку в Directions API (устаревшей версии) и Distance Matrix API (устаревшей версии)?
- Как сообщить об ошибках в геокодере?
- Геокодер не выдает хороших результатов для моего варианта использования. Какая помощь доступна?
- Как добиться наилучших результатов с помощью геокодера, используя фильтрацию компонентов?
Поиск неисправностей
- Я получаю больше запросов, которые возвращают ZERO_RESULTS с геокодером. Что происходит?
В геокодере неоднозначные, неполные и плохо отформатированные запросы, такие как неправильно написанные или несуществующие адреса, склонны выдавать ZERO_RESULTS. Если адрес не может быть найден, ZERO_RESULTS предпочтительнее частичного результата (например, возвращая только пригород вместо адреса).
Если ваше приложение имеет дело с вводом адресов пользователем, функция автозаполнения Place в API Places может выдавать более качественные результаты. Автозаполнение Place позволяет пользователям выбирать из набора результатов на основе того, что они ввели, что позволяет пользователям выбирать между результатами с похожими именами и корректировать свой запрос, если они неправильно написали адрес.
Если у вас есть приложение, работающее с неоднозначными или неполными запросами или запросами, которые могут содержать ошибки, мы рекомендуем вам использовать функцию автозаполнения мест в API мест, а не прямой геокодер, доступный в API геокодирования. Для получения более подробной информации см. Best Practices When Geocoding Addresses и Address Geocoding в записи блога API Google Maps .
- Мне нужны быстрые ответы, а геокодер слишком медленный для моего приложения. Что я могу использовать для более быстрых ответов?
Мы рекомендуем, чтобы приложения, которые реагируют на пользовательский ввод и, следовательно, очень чувствительны к задержке, использовали функцию Place Autocomplete в API Places (также доступна в JavaScript , Android или iOS ) вместо того, чтобы обращаться к геокодированию. Place Autocomplete оптимизирован для интерактивного использования и, таким образом, имеет очень низкую задержку.
Геокодирование адресов в Geocoding API оптимизировано для использования с полными, недвусмысленными, хорошо отформатированными адресами, такими как адреса доставки, введенные в онлайн-формы, и, таким образом, имеет более высокую задержку, чем Place Autocomplete. Прямой геокодер имеет большее покрытие и лучшее качество результата, но с несколько более высокой задержкой.
- Как можно уменьшить задержку в Directions API (устаревшей версии) и Distance Matrix API (устаревшей версии)?
Вместо адресов используйте идентификаторы мест для указания точек маршрута, отправной точки и пункта назначения. Идентификаторы мест лучше всего получать из функции автозаполнения мест в API мест или библиотеки мест в API JavaScript Карт. См. также информацию о параметре
placeIdOnly
, который можно использовать для снижения стоимости автозаполнения мест.Когда Directions API (устаревшая версия) или Distance Matrix API (устаревшая версия) запрашивается со строкой адреса, а не с идентификатором места или latlng, они используют тот же бэкэнд, что и Geocoding API, для преобразования этого адреса в идентификатор места перед расчетом маршрута. Place Autocomplete быстрее, чем геокодирование адреса. Для приложений, которые используют Directions API (устаревшая версия) или Distance Matrix API (устаревшая версия) в ситуациях, чувствительных к задержкам, например, при реагировании на ввод данных пользователем, мы рекомендуем использовать Place Autocomplete для получения идентификаторов мест, соответствующих этим адресам, и передавать идентификаторы мест в Directions API (устаревшая версия) или Distance Matrix API (устаревшая версия). Такой подход значительно сокращает задержку. См. нашу документацию для примера того, как использовать Place Autocomplete с маршрутами .
- Как сообщить об ошибках в геокодере?
Если у вас есть сообщения об ошибках или пожелания по функциям для службы прямого геокодирования, сообщите нам об этом, используя нашу публичную систему отслеживания ошибок .
- Геокодер не выдает хороших результатов для моего варианта использования. Какая помощь доступна?
Сообщите нам об этом, используя наш общедоступный трекер проблем , поделившись несколькими конкретными вопросами, чтобы мы могли провести расследование и выяснить, есть ли какие-либо ошибки или системные проблемы, вызывающие проблемы с качеством результатов, или есть ли какие-либо изменения, которые мы можем внести в руководство по передовым практикам , чтобы помочь разработчикам добиться лучших результатов.
- Как добиться наилучших результатов с помощью геокодера, используя фильтрацию компонентов?
В геокодере фильтрация компонентов применяет только ограничения
postal_code
иcountry
. Следующие примеры иллюстрируют, как лучше всего использовать фильтрацию компонентов в зависимости от необходимых вам результатов. В URL-адресах образцов запросов обязательно замените `YOUR_API_KEY` на ваш фактический ключ API.- Чтобы ограничить почтовые индексы определенной страной, обязательно укажите ограничение страны, используя код страны ISO 3166-2 . Например:
components=country:CH|postal_code:8000
возвращает "8000 Zürich, Switzerland".https://maps.googleapis.com/maps/api/geocode/json?components=country:CH%7Cpostal_code:8000&key=YOUR_API_KEY
- Чтобы ограничить запросы определенной страной, обязательно укажите ограничение по стране, используя код страны ISO 3166-2 . Названия стран и другие сокращения могут не давать тех же результатов, что и коды стран.
Примеры:
- Геокодирование для
components=country:FRA|locality:gallus
возвращает сублокальность Галлус во Франкфурте-на-Майне, Германия. Это связано с тем, что трехбуквенный код страны для Франции (FRA) не поддерживается, поэтому результаты в любой стране допускаются, а результат во Франкфурте подходит лучше, чем что-либо во Франции.https://maps.googleapis.com/maps/api/geocode/json?components=country:FRA%7Clocality:gallus&key=YOUR_API_KEY
- Геокодирование для
- Geocoding API не обязательно вернет несколько результатов для неоднозначных запросов. На такие запросы лучше отвечает Place Autocomplete.
Примеры:
- Геокодирование для
components=country:US|locality:madrid
возвращает «Madrid, NM 87010, USA», но ни один из других городов США с названием «Madrid».https://maps.googleapis.com/maps/api/geocode/json?components=country:US%7Clocality:madrid&key=YOUR_API_KEY
- Использование автозаполнения мест для
input=madrid&components=country:us&types=(regions)
, а также указание области просмотра с использованиемlocation
иradius
для смещения результатов местоположения , генерирует ответ с несколькими городами в США с названием «Madrid».https://maps.googleapis.com/maps/api/place/autocomplete/json?location=37.386052,-122.083851&radius=10000&input=madrid&components=country:us&types=(regions)&key=YOUR_API_KEY
- Геокодирование для
- Чтобы ограничить почтовые индексы определенной страной, обязательно укажите ограничение страны, используя код страны ISO 3166-2 . Например: