我的情况是我有很多地理数据,其中许多具有相同的纬度和经度。
我想让 MarkerCluster 的 zoomOnClick 处理程序保持事件状态,但是本地图保持放大并获得最大缩放级别时,集群中相同的纬度和经度数据将不会分开(因为达到最大缩放级别 21)<- - 这是有道理。 所以,我想做的就是本地图达到最大缩放级别时,我单击集群标记,我不放大,我想弹出一个信息窗口以显示该集群中所有标记的信息。
我现在可以点击 clustermarker 并弹出一个信息窗口(通过修改 MarkerCluster.js),但我不知道如何在 clustermarker 中获取这些标记,目前,我只能返回所有标记...
有谁知道如何做这个或者我应该如何修改js文件? 或者也许有人也有同样的情况?
如有任何建议,我们将不胜感激,谢谢。
最佳答案
要获取当前(单击的)集群,请访问传递给 clusterclick
回调的参数。
此参数的方法 getMarkers()
将返回一个包含簇中标记的数组,循环遍历该数组并收集所需数据。
注意:不知道你用的是哪个版本的markerclusterer.js,我的回答引用this version .
也无需修改此版本,无需任何修改即可实现您要求的所有功能。
如何访问标记的简短示例:
google.maps.event.addListener(markerclustererObject,'clusterclick', function(clickedCluster){ console.log(clickedCluster.getMarkers()); });
关于javascript - 如何使用 MarkerCluster.js 在谷歌地图上获取当前集群的标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14462435/