#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 /