2017-02-09 3 views
-1

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

Какие изменения я должен внести в код для этого?

function initAutocomplete() { 
    autocomplete = new google.maps.places.Autocomplete(
     (document.getElementById('autocomplete')), 
     {types: ['geocode']}); 
    } 


    function geolocate() { 
    if (navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(function(position) { 
     var geolocation = { 
      lat: position.coords.latitude, 
      lng: position.coords.longitude 
     }; 

     var circle = new google.maps.Circle({ 
      center: geolocation, 
      radius: position.coords.accuracy 
     }); 
     autocomplete.setBounds(circle.getBounds()); 
     }) 

; 
     } 
     } 
+0

Вы Гугле 'Google карты автозаполнения ограничить места, показанные в определенном country'? Кажется, масса результатов. Можете ли вы прояснить, как они не работают для вас? –

+0

Вот документ, вы это читали? https://developers.google.com/maps/documentation/javascript/places-autocomplete#add_autocomplete Цитата: «В настоящее время вы можете использовать componentRestrictions для фильтрации до 5 стран. Страны должны передаваться как двухсимвольные ISO 3166-1 Код страны, совместимый с Alpha-2. Несколько стран должны быть переданы в виде списка кодов стран ». –

+0

@Pekka 웃 это то, что я добавил 'var options = { типов: ['(города)'], componentRestrictions: {country: 'fr'} };' чуть ниже части геолокации, без везения – EnexoOnoma

ответ

6

Используйте опцию componentRestrictions, чтобы ограничить поиск автозаполнения определенной страной. Следующий код ограничивает результаты в городах во Франции.

var input = document.getElementById('searchTextField'); 
var options = { 
    types: ['(cities)'], 
    componentRestrictions: {country: 'fr'} 
}; 

autocomplete = new google.maps.places.Autocomplete(input, options); 
+0

Привет, я не понимаю, где это добавить. Cn вы делаете это в ссылке с моим примером? – EnexoOnoma

0

просто попробуйте добавить его после того, как '{типов: [геокод]}'

 autocomplete = new google.maps.places.Autocomplete(
    (document.getElementById('autocomplete')), 
    {types: ['geocode'], componentRestrictions: {country: 'fr'}});