如何在googlemaps上点击默认标记/位置时捕获点击事件?

时间:2013-05-07 11:14:14

标签: google-maps google-maps-api-3 google-maps-markers

我正在使用Google Maps API V3。 googlemaps默认显示某些地方/位置的标记,我需要在点击其中一个时捕获click事件。 enter image description here

我曾尝试使用地图的点击事件,但它不起作用,因为用户点击了标记而不是地图,代码是:

google.maps.event.addListener(mymap, 'click', function () {
  alert('clicked');
});

有人可以告诉我该怎么做吗?

修改 我找不到合适的活动in the available Events,这可以帮助我!

请注意,我不是在谈论自定义标记(由用户创建),这些是默认标记,googlemaps默认显示它们。

4 个答案:

答案 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事件。

Refer