Часто задаваемые вопросы о геокодировании

В этом FAQ рассматриваются вопросы, специфичные для API геокодирования. Обратитесь к FAQ по платформе Google Maps для вопросов, общих для всех платформ Google Maps. См. также Best Practices When Geocoding Addresses .

Поиск неисправностей

Поиск неисправностей

Я получаю больше запросов, которые возвращают 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