Я пытаюсь подключить виртуальную клавиатуру для привязки к вводу автозаполнения в Google.Trigger Google Places Autocomplete
Если я физически печатаю букву на входе, раскрывающийся список, основанный на Google, отображает предсказания автозаполнения, основанные на том, где карта сосредоточена. Если я нажму на виртуальную клавиатурную клавишу, вход будет обновлен правильно, но предсказания автозаполнения не будут обновлены.
Я пытался использовать виртуальную клавиатуру change
обратного вызова, чтобы вызвать "KeyUp" (результаты StackOverflow), "нажатие", "KeyDown", "изменение", и я даже попробовал эту (demo):
change : function(e, keyboard, el) {
google.maps.event.trigger(autocomplete, 'place_changed');
}
, что приводит к ошибке javascript, в основном показывающей, что autocomplete.getPlace();
не возвращает результат.
Итак, теперь я пробовал код ниже (в this demo), который использует обратный вызов изменения для запуска предсказания автозаполнения, но, как вы можете видеть в этой демонстрации, результаты отличаются.
change : function(e, keyboard, el) {
var $el = $(el),
service = new google.maps.places.AutocompleteService();
if ($el.val() !== "") {
service.getQueryPredictions({ input: $(el).val() }, function(predictions, status) {
if (status != google.maps.places.PlacesServiceStatus.OK) {
alert(status);
return;
}
var list = '', $results = $('#results');
for (var i = 0, prediction; prediction = predictions[i]; i++) {
list += '<li>' + prediction.description + '</li>';
}
$results.html(list);
});
}
}
В идеале, я хочу, чтобы вызвать уже установленное ниспадающее меню предсказания автозаполнения для обновления во время набора текста на виртуальной клавиатуре.
Чувак, вы закончили часами блуждания среди API Google. Большое спасибо! –
Вы, ребята, выяснили, как вызвать изменение, когда я нажимаю на результаты автозаполнения? Я могу получить «фокус» для запуска и отображения результатов, но теперь, когда я нажимаю на результаты, они не исчезают. – nf071590