Автозаполнение Google Map V3 Места, которые невозможно настроить? - PullRequest
7 голосов
/ 27 сентября 2011

Я сузил автозаполнение до региона и границ, охватывающих только Австралию, но я все еще получаю автозаполнение с Чили, Китаем и другими странами за пределами выбранного региона.У кого-нибудь есть хорошее решение для решения этой проблемы?Я также не могу изменить стиль с автозаполнения Google, это сам генерируемый Div с тегом стиля, который превосходит мой стиль для автозаполнения DIV?Я начал использовать автозаполнение Geocoder и Jquery для фильтрации результатов, но оно не работает так же хорошо, как и автозаполнение Google: результаты меньше, чем автозаполнение карт Google?* Вот код создания автозаполнения:

    var defaultBounds = new google.maps.LatLngBounds(
    new google.maps.LatLng(-47.5765257137462, 106.259765625),
    new google.maps.LatLng(-9.6, 179.359375));

    var options = {
      bounds: defaultBounds,
      types: ['geocode'],
      offset: 5
    };

    var input = document.getElementById('store-locator-header');

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

Ответы [ 4 ]

4 голосов
/ 11 октября 2012

В настоящее время вы можете ограничиться страной с:

componentRestrictions: {страна: 'us'},

2 голосов
/ 26 января 2012

Когда При добавлении автозаполнения с bounds, результаты смещены к, но не ограничены к, Места, содержащиеся в этих пределах. Это то же самое, что и при использовании Смещение видового экрана в API геокодирования .Боюсь, у меня нет способа отфильтровать те предложения, которые выходят за пределы bounds.

0 голосов
/ 13 ноября 2016

Проблема в том, что LatLngBounds ожидает юго-западный и северо-восточный углы.

Вместо:

var defaultBounds = new google.maps.LatLngBounds(
    new google.maps.LatLng(-47.5765257137462, 106.259765625),
    new google.maps.LatLng(-9.6, 179.359375));

Должно быть:

var defaultBounds = new google.maps.LatLngBounds(
    new google.maps.LatLng(-9.6, 106.259765625),
    new google.maps.LatLng(-47.5765257137462, 179.359375));

На самом деле есть документация для стилизации элементов пользовательского интерфейса автозаполнения .

0 голосов
/ 28 октября 2014

Другим способом быстрой настройки может быть установка ограничения компонента, как показано ниже

var autocomplete = new google.maps.places.Autocomplete(input);
//autocomplete.bindTo('bounds', map);//restrict to bounds or viewport
autocomplete.setComponentRestrictions({'country': 'uk'});//restrict to country

подробнее о местах смещения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...