相关疑难解决方法(0)

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

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

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

我曾尝试使用虚拟键盘change回调触发"KEYUP"(计算器的结果),"按键","的keydown","变",我甚至想这(演示):

change : function(e, keyboard, el) {
    google.maps.event.trigger(autocomplete, 'place_changed');
}
Run Code Online (Sandbox Code Playgroud)

这导致javascript错误基本上显示autocomplete.getPlace();不返回结果.

所以现在我已经尝试了下面的代码(在这个演示中),它使用更改回调来触发自动完成预测,但正如您在该演示中所看到的,结果不同.

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 + …
Run Code Online (Sandbox Code Playgroud)

javascript google-places-api

12
推荐指数
1
解决办法
8236
查看次数

如何以编程方式更改谷歌地图api自动完成输入的选择?

我了解为了使用google maps javascript API v3以编程方式触发place_changed事件,请执行以下操作:

google.maps.event.trigger(autocomplete, 'place_changed');
Run Code Online (Sandbox Code Playgroud)

但是,这只会触发事件中指定的回调,并且实际上不会对<input>附加的元素执行任何操作.

我需要做的是以编程方式将自动完成中的选择更改为<input>之前检索到的位置对象中指定的特定位置或位置:

autocomplete.getPlace()

我当然可以直接更改输入中的值:

input.value = 'Whatever';
Run Code Online (Sandbox Code Playgroud)

但这样做并不会改变自动完成选择.在这样做之后,用户必须删除整个字符串<input>,然后最终再次开始输入,以便再次显示自动完成预测.

总而言之,我想使用从places/autocomplete api获得的场所对象,以编程方式更改谷歌地图自动完成输入的选择.有没有办法做到这一点?

javascript google-maps google-maps-api-3

9
推荐指数
1
解决办法
3432
查看次数

首次使用后如何触发 Google Places 自动完成结果下拉列表?

使用Google Maps JavaScript API(通过<script src="https://maps.googleapis.com/maps/api/js?key=MY_API_KEY&libraries=places&callback=initAutocomplete" async defer></script>),我的地址输入...

在此输入图像描述

...当我输入“1251”时显示自动完成信息...

在此输入图像描述

...并在单击地址(或按 Enter 键)时将完整地址添加到输入中:

在此输入图像描述

目前,如果我再次单击地址输入(添加地址后),它只会将焦点添加到输入中,而不会执行其他操作:

在此输入图像描述

我的问题是:当单击已经自动完成的输入时,如何使用输入的数据再次触发下拉菜单?

点击一次删除(只需将结尾从 更改USAUS)会重新打开下拉菜单,但我不希望用户必须更改条目才能看到下拉菜单。这是我尝试过的:

$('.geoloc input').on({

    // neither 'place_changed' nor 'focus' trigger the dropdown (doesn't work)
    click: function(){
        google.maps.event.trigger(this, 'place_changed');
        // or
        google.maps.event.trigger(this, 'focus', {});
    },

    // enter selects first address from dropdown (works)
    keydown: function(e){
        if (e.keyCode == 13) {
            google.maps.event.trigger(this, 'keydown', {keyCode:40});
            google.maps.event.trigger(this, 'keydown', {keyCode:13});
            this.blur();
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

使用字段值以编程方式触发下拉列表的正确方法是什么?

javascript jquery google-maps google-places-api google-places-autocomplete

5
推荐指数
1
解决办法
3708
查看次数

Google地图自动搜索页面加载

我在我的网页上使用Google Maps API v3,当前加载页面时,搜索框会预先填充我选择的搜索字词.但我需要它实际上然后使用该术语搜索地图.我似乎无法使用谷歌的API找到任何方法,所以我想也许我可以使用此代码模拟"输入"键按下:

var e = jQuery.Event("keydown");
e.which = 13;
$("#pac-input").trigger(e);
Run Code Online (Sandbox Code Playgroud)

(#pac-input<input>地图上标签的ID )

然而,这似乎不起作用.

那么如何强制搜索页面加载?

编辑: 这是我正在谈论的搜索框 在此输入图像描述

javascript jquery google-maps google-maps-api-3

2
推荐指数
1
解决办法
2989
查看次数