Автозаполнение Планировщик поездки Google

В настоящее время мы используем функцию планирования поездок Google на нашем транзитном веб-сайте. Проблема, с которой мы сталкиваемся, заключается в том, что когда клиент вводит исходную точку (например, "Квинсвей" в Келоуне, Британская Колумбия, Канада), мы получаем результаты автозаполнения со всей Северной Америки. Можно ли ограничить результаты автозаполнения определенной провинцией или штатом? Спасибо!

1 ответ

Попробуйте использовать компонентную фильтрацию

В ответе на геокодирование API геокодирования Карт Google может возвращать результаты адресов, ограниченные определенной областью. Ограничение указывается с помощью components фильтр. Фильтр состоит из списка component:value пары разделены трубой (|). Будут возвращены только результаты, соответствующие всем фильтрам. Значения фильтра поддерживают те же методы исправления орфографии и частичного сопоставления, что и другие запросы геокодирования. Если результат геокодирования является частичным совпадением для фильтра компонента, он будет содержать partial_match поле в ответе.

Компоненты, которые могут быть отфильтрованы, включают в себя:

  • route соответствует длинному или короткому названию маршрута.
  • locality совпадает с обоими locality а также sublocality типы.
  • administrative_area соответствует всем administrative_area уровни.
  • postal_code Матчи postal_code а также postal_code_prefix,
  • country соответствует названию страны или двухбуквенному коду ISO 3166-1.

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

Геокод для "Санта-Круз" с components=country:ES вернется Санта-Крус-де-Тенерифе на Канарские острова, Испания. Запрос:

https://maps.googleapis.com/maps/api/geocode/json?address=santa+cruz&components=country:ES&key=YOUR_API_KEY

Посмотрите этот пример: Place Autocomplete Hotel Search для реализации кода.

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

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