【问题标题】:Google maps autocomplete place_changed not firing谷歌地图自动完成 place_changed 未触发
【发布时间】:2014-05-15 19:36:33
【问题描述】:

当我单击下拉列表中的某个项目时,我遇到了 place_changed 事件未触发的问题。如果我右键单击一个项目,那么它会触发。如果我左键单击,它有时会触发,但只有大约 10% 的时间。

我查看了是否有任何听众可能会干扰,但我没有看到任何听众。如果我追踪谷歌地图代码,我可以看到点击事件似乎正在触发,但它没有检测到位置字段中的更改,因此不会触发 place_changed。所以似乎有些东西阻止了位置值的设置。

这是设置自动完成和设置监听器的代码。

function initAnyGoogleAutocomplete(searchBoxElementId, placeChangedCallbackFunction) {
    google.maps.event.clearListeners(document.getElementById(searchBoxElementId), 'place_changed');
    var searchBoxReferenceVar = new google.maps.places.Autocomplete(document.getElementById(searchBoxElementId),
    {
        bounds: map.getBounds(),
        componentRestrictions: {country: 'us'}
    });
    google.maps.event.addListener(searchBoxReferenceVar, 'place_changed', placeChangedCallbackFunction);

    return searchBoxReferenceVar;
}

【问题讨论】:

    标签: jquery google-maps-api-3


    【解决方案1】:

    我终于找到了问题的原因。主体设置为可拖动,并且拖动事件绑定到返回 false 的函数。该事件干扰了自动完成中的位置设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-29
      • 1970-01-01
      • 2016-11-17
      • 2018-01-26
      • 1970-01-01
      • 1970-01-01
      • 2018-06-01
      相关资源
      最近更新 更多