Предложение автозаполнения Google без названия страны

Я ищу возможность получить предложения без названия страны.

У меня есть следующий js-код:

var options = {
    types: ['(cities)'],
        componentRestrictions: {country: "us"}
     };
autocomplete = new google.maps.places.Autocomplete((document.getElementById('autocomplete')), options);

Результат, например. Остин, Техас, США

Теперь я хочу иметь только для этого примера

Ожидаемый результат, например. Остин, Техас

См. дополнительную информацию по ссылке на изображение нажмите здесь

У вас есть идея? Спасибо. Дхирадж Гангал


comment
Я сомневаюсь, что это будет возможно без каких-либо хаков, поскольку вы используете собственное поле автозаполнения Google. Если вам действительно нужен полный контроль, вы можете написать свой собственный элемент автозаполнения с доступом к developers.google. com/places/web-service/autocomplete напрямую.   -  person mrkernelpanic    schedule 30.05.2018


Ответы (1)


Я исследовал больше об этом, и у меня есть больше информации здесь:

Используемая служба: https://developers.google.com/maps/documentation/javascript/places-autocomplete?hl=de#place_autocomplete_service

AutocompletePrediction определяет, что возвращает служба https://developers.google.com/maps/documentation/javascript/reference?hl=de#AutocompletePrediction

и PredictionTerm здесь https://developers.google.com/maps/documentation/javascript/reference?hl=de#PredictionTerm — это часть «описания», которое изначально отображается как результат.

Интересная часть — это PredictionTerm, который является частью всего предложения места.

Если вы посмотрите на этот пример: https://developers.google.com/maps/documentation/javascript/examples/places-queryprediction

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

predictions.forEach(function(prediction) {
     var li = document.createElement('li');
     var city = prediction.terms[2];
     var content = "Results: "+city;
     li.appendChild(document.createTextNode(prediction.description));
     document.getElementById('results').appendChild(li);
});

Я сделал пример: https://jsfiddle.net/yfkpvf72/1/

person mrkernelpanic    schedule 30.05.2018
comment
Хороший ответ. Если вам нужен пример со стилем, который выглядит ближе к стандартному автозаполнению, вы можете посмотреть на эту скрипту . - person MrUpsidown; 30.05.2018