使用google.maps.event.addlistener注册“点击”事件(自动填充,...)?

时间:2015-02-12 16:59:13

标签: javascript jquery google-maps google-maps-api-3

我希望我的程序在用户点击谷歌地图自动填充建议项目之后做一些事情 - 以下内容:

var autocomplete = new google.maps.places.Autocomplete($("#input_field")[0], {});

google.maps.event.addListener(autocomplete, 'click', function() {
    // do something
});

通常的做法是使用' place_changed'而不是“点击”,但这对我的目的来说太笼统了,因为它还通过使用向上/向下箭头键滚动选择自动完成框来捕获事件。

我想专门捕获用户点击(或在移动设备上按下)特定自动填充建议的事件。这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

不确定“点击”是什么意思,但Google Maps Javascript API中的click UI事件意味着用户点击地图视图。 click UI事件的一般用例是,当用户在地图视图上单击(或触摸/点击移动设备)时,在地图视图上绘制标记。有关Google Maps Javascript API UI事件的详细信息,请参阅this page

因此,如果您想在用户点击/点击地图视图时执行地点自动填充功能,那么这将不是一个非常好的用户体验。此外,当您的用户点击/点击地图视图时,您无法知道该地点的名称(或文字)。

此外,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/