编程语言
首页 > 编程语言> > javascript – 触发Google商家信息自动填充功能

javascript – 触发Google商家信息自动填充功能

作者:互联网

我正在尝试附加虚拟键盘以绑定到Google地方自动填充输入.

如果我在输入中实际输入一个字母,则Google支持的下拉列表会根据地图的居中位置显示自动填充预测.如果单击虚拟键盘键,则输入会正确更新,但不会更新自动完成预测.

我试图使用虚拟键盘更改回调来触发“keyup”(stackoverflow结果),“keypress”,“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);
    });
  }
}

理想情况下,我想在虚拟键盘上键入时触发已建立的自动完成预测下拉列表以进行更新.

解决方法:

我找到了答案(demo)!

change : function(e, keyboard, el) {
    google.maps.event.trigger( el, 'focus', {} );
}

标签:javascript,google-places-api
来源: https://codeday.me/bug/20191005/1855707.html