我正在使用Google Maps API V3。 googlemaps默认显示某些地方/位置的标记,我需要在点击其中一个时捕获click事件。
我曾尝试使用地图的点击事件,但它不起作用,因为用户点击了标记而不是地图,代码是:
google.maps.event.addListener(mymap, 'click', function () {
alert('clicked');
});
有人可以告诉我该怎么做吗?
修改 我找不到合适的活动in the available Events,这可以帮助我!
请注意,我不是在谈论自定义标记(由用户创建),这些是默认标记,googlemaps默认显示它们。
答案 0 :(得分:1)
以下是直接来自Google的干净解决方案: https://developers.google.com/maps/documentation/javascript/examples/event-poi
您可以轻松自定义POI的默认信息窗口。只需忽略教程中的路由制作功能。
答案 1 :(得分:0)
我从未尝试过,但您是否可以检索Google使用Google Places API显示的地点列表,然后为他们建立自己的图钉和点击事件?
答案 2 :(得分:0)
它有点hacky,并且不适用于IE< 9,但你可以听dom事件, 使用
检测窗口的创建Mutation Observer
这是一个用来演示的傻瓜:http://plnkr.co/edit/pGep9OZFligLhRtHlhgk 您可以在控制台中检查,当您点击POI时会触发事件(实际上是两次)。
答案 3 :(得分:-2)
请注意,OP正在询问是否使用GMAP3库执行此操作,该库是一个jQuery插件库,可在Google Maps图层上添加API图层。说Google API是使用google.maps.addListener是绝对正确的,但我认为OP希望使用addMarkers更接近GMAP3示例,但是会听取click事件。考虑到这一点,我修改了GMAP3中的示例并将mouseenter事件更改为click事件并摆脱了mouseleave事件。