向google.maps.event.addlistener(autocomplete, ...)注册'click'事件?



我希望我的程序在用户点击谷歌地图自动完成建议项目后做一些事情——大致如下:

var autocomplete = new google.maps.places.Autocomplete($("#input_field")[0], {});
google.maps.event.addListener(autocomplete, 'click', function() {
    // do something
});

通常的做法是使用"place_changed"而不是"click",但这对我来说太通用了,因为它还可以通过上/下箭头键滚动来捕捉选择自动完成框的事件。

我想特别捕捉用户点击(或在移动设备上按下)特定自动完成建议的事件。正确的方法是什么?

不知道"点击"是什么意思,但Google Maps Javascript API中的click UI事件意味着用户点击地图视图。click UI事件的一般用例是,当用户在地图视图上单击(或触摸/点击移动设备)时,在地图视图中绘制标记。有关Google Maps Javascript API UI事件的更多信息,您可以参考此页面。

因此,如果你想在用户点击/点击地图视图时执行位置自动完成,这将不是一个真正好的用户体验。此外,当用户点击/点击地图视图时,您无法知道该地的名称(或文本)。

此外,place_changed事件意味着用户点击/点击/选择建议列表中的项目。您可以在place_changed回调中放入日志语句,当用户单击/点击/选择建议列表中的项目时,您会看到日志将被打印出来。我不知道为什么这不能给你所需要的。

您可以参考以下链接了解place_changed演示:https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-hotelsearch

https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete

或者这个JSFiddle链接,当你点击/点击/从建议列表中选择一个项目时,它会显示一个弹出对话框:https://jsfiddle.net/btc67xwp/

最新更新