ограничение API автозаполнения Google places только для университетов

#google-places-api #google-places

#google-places-api #google-places

Вопрос:

Здравствуйте, у меня возникла проблема с API автозаполнения Google places. Я хочу, чтобы пользователи могли искать только университеты. Возможно ли это? Это мой текущий код:

     //Limits search results to only us places.
    var options = {
    types: ['university','establishment'],
    componentRestrictions: {country: "us"}
    };

  var input = document.getElementById('searchTextField');
autocomplete = new google.maps.places.Autocomplete(input, options);    
google.maps.event.addListener(autocomplete, 'place_changed', function() {
    <?php if($this->uri->segment(1)=='0')
    {  ?>
    $('.advanced_search').show();
      <?php } elseif($this->uri->segment(2)=='edit') { ?>
   $('.advanced_search_rooms').hide();   
   <?php }
  

Ответ №1:

В настоящее время это невозможно на стороне клиента (с JS API v3). Доступные варианты автозаполнения экземпляра доступны здесь.

Вы можете создать экземпляр автозаполнения, чтобы результаты были ограничены в пределах страны с помощью опции componentRestriction. Вы также можете ограничить результаты определенным типом мест с помощью опции «Типы«, но единственными вариантами являются «геокод», «учреждение», «(регионы)», «(города)». Школы и университеты относятся к типу ‘establishment’, поэтому вы получите их, если воспользуетесь этим, но они будут извлечены вместе с любым бизнес-учреждением.

Код будет выглядеть следующим образом.

HTML:

 <input type='text' id='js-autocomplete' />
  

JS:

 var element = document.getElementById('js-autocomplete');
var autocompleteSchools = new google.maps.places.Autocomplete(element, {
    types: ['establishment']
});
  

Вот пример JSFiddle: http://jsfiddle.net/nemile/4fem2x7r /