2

Я пытаюсь добавить поле автозаполнения Google Geocode в свою форму.Google GeoCode Autocomplete limit State

Я смог заставить его ограничить результаты, возвращенные в страну (AU), но было бы еще лучше, если бы я мог ограничить результаты и до состояния. (Новый Южный Уэльс/NSW)

Это мой текущий initialize() функция:

function initialize() { 
var options = { 
types: ['geocode'], 
    componentRestrictions: {country:"AU"} 
}; 
    autocomplete = new google.maps.places.Autocomplete(
    (document.getElementById('autocomplete')),options); 
    google.maps.event.addListener(autocomplete, 'place_changed', function() { 
    fillInAddress(); 
    }); 
} 

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

Просто изменить его на:

types: ['administrative_area1':'NSW'], // OR 'New South Wales' 

и различных комбинаций, сходных с выше (= вместо: и т.д.) не работали ..

Может кто-то мне точку в правильном направлении, что фактический синтаксис - это то, чего я пытаюсь достичь?

Спасибо.

+2

Когда вы прочтете документацию, вы также должны прочитать следующее: * В настоящее время вы можете использовать фильтрацию компонентов для фильтрации по странам * –

+0

Я сделал. и я выполнил эту часть и сказал, что она работает. Я спрашиваю, могу ли я отфильтровать его дальше, чтобы показывать результаты только в определенном состоянии (NSW). – Jake

+0

Когда можно было бы фильтровать по состоянию, они бы написали * вы можете использовать componentRestrictions для фильтрации по странам ** и состояния **. * –

ответ

2

Я использую autocomplete без какого-либо фильтра, но автоматически добавляю состояние, которое меня интересует, ко всем пользовательским вводам перед отправкой запроса.

Для тех, кто хочет получить результаты в Калифорнии, например, если они будут искать Sacramento, он автоматически исправит ввод Sacramento, California, и это сработало для меня хорошо. Вы можете быть более конкретным с данными, которые вы отправляете, например Sacramento, California, USA

+0

Это хорошая идея! Благодарю. – Jake