Автозаполнение Планировщик поездки 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 для реализации кода.
Надеюсь, поможет!