如何在集群中的谷歌地图标记上创建点击事件?

Posted

技术标签:

【中文标题】如何在集群中的谷歌地图标记上创建点击事件?【英文标题】:How can I create a click event on a google map marker in a cluster? 【发布时间】:2017-10-20 03:57:32 【问题描述】:

我在 Google 的 Marker Clustering guide 工作。

我只想向集群内的标记添加一个简单的事件。

不幸的是,我不能使用marker.addListener('click', ...,因为没有声明marker 变量。

知道如何在聚类指南中使用相同的标记将点击事件添加到多个标记吗?

非常感谢!

【问题讨论】:

修改代码,让您可以访问标记(它确实会创建一个...) Integrate Google Maps MarkerClusterer with infowindow的可能重复 【参考方案1】:

如Integrate Google Maps MarkerClusterer with infowindow 中所建议,应使用点击事件创建标记:

var markers = locations.map(function(location, i) 
  var marker = new google.maps.Marker(
    position: location
  );
  google.maps.event.addListener(marker, 'click', function(evt) 
    //Add click event
  );
  return marker;
);

这是添加到 Google 的 Marker Clustering 示例中的解决方案:https://jsfiddle.net/9dmj3rkr/

【讨论】:

非常感谢。我浪费了 8 个小时才联系到你。我面临的最后一个问题,我可以在单击另一个标记时隐藏以前的 infoWindow 吗?

以上是关于如何在集群中的谷歌地图标记上创建点击事件?的主要内容,如果未能解决你的问题,请参考以下文章

带有毕加索的谷歌地图集群项目标记图标

如何在同一张地图上使用带有多个标记的谷歌地图 API

如何使用我的 JSON 数据在谷歌地图 API 上创建标记?

鼠标悬停时的谷歌地图 v3 标记信息窗口

如何在android中的谷歌地图上绘制路线并计算多个标记之间的距离

不同外部链接的谷歌地图标记点击功能问题