8

我正在使用 Google Maps API V3。googlemaps 默认显示某些地方/位置的标记,我需要在单击其中一个时捕获单击事件。 在此处输入图像描述

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

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

有人可以给我一个想法吗?

编辑:我在可用的 事件中找不到合适的事件,这可以帮助我!

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

4

4 回答 4

1

这是直接来自 Google 的干净解决方案: https ://developers.google.com/maps/documentation/javascript/examples/event-poi

您可以轻松自定义 POI 的默认信息窗口。只需忽略本教程的路线制作功能。

于 2018-01-23T15:27:42.287 回答
0

我从未尝试过,但您能否检索 Google 使用 Google Places API 显示的地点列表,然后为它们建立您自己的 pin 和点击事件?

于 2013-05-07T14:26:27.097 回答
0

这有点 hacky,在 IE < 9 上不起作用,但你可以监听 dom 事件,检测窗口的创建,使用

Mutation Observer

这是一个 plunkr 来演示:http ://plnkr.co/edit/pGep9OZFligLhRtHlhgk 您可以在控制台中检查,当您单击 POI 时会触发一个事件(实际上是两次)。

于 2013-10-09T07:24:29.093 回答
-2

请注意,OP 正在询问是否使用 GMAP3 库来执行此操作,这是一个 jQuery 插件库,在 Google 地图层之上添加了一个 API 层。说 Google API 是使用 google.maps.addListener 是绝对正确的,但我认为 OP 想要一些更接近使用 addMarkers 的 GMAP3 示例的东西,但要监听点击事件。考虑到这一点,我修改了 GMAP3 中的示例并将 mouseenter 事件更改为 click 事件并摆脱了 mouseleave 事件。

参考

于 2013-05-07T11:19:05.983 回答