我正在使用MarkerClusterer。当我在同一个点上有两个或多个标记时,API只显示1个标记 - 最上面的一个标记。但不知何故,我想显示所有的标记,因为每个将打开不同的弹出窗口。 我已经搜索发现几个解决方案,但似乎没有工作 任何人都有类似的问题,并会共享一个解决方案?同一地点有多个标记 - MarkerClusterer
11
A
回答
23
终于搞定了。这是所有那些还没有找到解决方案的人。下面的代码将抵消对同一位置的标记:
在你createMarker
函数添加以下代码:
//get array of markers currently in cluster
var allMarkers = namespace.mapParams.mapMarkersArray;
//final position for marker, could be updated if another marker already exists in same position
var finalLatLng = latlng;
//check to see if any of the existing markers match the latlng of the new marker
if (allMarkers.length != 0) {
for (i=0; i < allMarkers.length; i++) {
var existingMarker = allMarkers[i];
var pos = existingMarker.getPosition();
//if a marker already exists in the same position as this marker
if (latlng.equals(pos)) {
//update the position of the coincident marker by applying a small multipler to its coordinates
var newLat = latlng.lat() + (Math.random() -.5)/1500;// * (Math.random() * (max - min) + min);
var newLng = latlng.lng() + (Math.random() -.5)/1500;// * (Math.random() * (max - min) + min);
finalLatLng = new google.maps.LatLng(newLat,newLng);
}
}
}
现在更新与新的位置值每个标记您的google.maps.Marker
对象 - finalLatLng
。
var marker = new google.maps.Marker({
map: msf_namespace.mapParams.resultmap,
position: finalLatLng,
title: name,
icon: markericon
});
//add each generated marker to mapMarkersArray
namespace.mapParams.mapMarkersArray.push(marker);
相关问题
- 1. 谷歌地图spiderfy功能 - 同一点有多个标记
- 2. MarkerClusterer xml标记
- 3. 在同一页上有多个标记的2个地图
- 4. Google MarkerClusterer不显示标记
- 5. 删除markerClusterer中的标记
- 6. MarkerClusterer不分组标记
- 7. 谷歌地图MarkerClusterer没有反映正确的标记数
- 8. 同一坐标上的多个标记
- 9. MarkerClusterer中使用的标记标签
- 10. Matplotlib,传说有多个不同的标记用一个标签
- 11. 谷歌地图放大标记点击多个标记
- 12. mouseover,mouseout并点击谷歌地图上的同一个标记
- 13. 具有多个标记的Google地图
- 14. 具有多个标记的BlackBerry地图
- 15. Android谷歌地图在同一位置的多个标记
- 16. 熊猫Pyplot多个标记,同一行
- 17. 多个Google地图标记
- 18. 结合谷歌地图MarkerClusterer v3和视口标记管理
- 19. Google地图(v3)“MarkerClusterer”:仅向可见标记添加圆圈
- 20. Google地图MarkerClusterer v3标记返回集群
- 21. markerclusterer点击群集以获取子标记
- 22. 防止标记在MarkerClusterer中聚簇
- 23. 在同一个网页中有多个javascript标记
- 24. GoogleMaps Markerclusterer InfoWindow相同位置,Cluster从标记中获取内容
- 25. 同一类的多个锚标记。找到哪个锚标签获得点击?
- 26. 地图上的多个标记 - >如何检测点击了哪个标记?
- 27. 谷歌地图MarkerClusterer要么不工作或隐藏所有标记
- 28. 谷歌地图 - 可点击标记的标记群集
- 29. markerclusterer:集群图标的锚点偏移
- 30. 谷歌地图MarkerClusterer
的[集成Spiderfier JS成markerClusterer V3爆炸多标志物完全相同的经度/纬度]可能重复(http://stackoverflow.com/questions/9726920/integrating-spiderfier-js-into-markerclusterer -v3-explode-multi-markers-with) – geocodezip
@geocodezip有没有一种方法可以在不使用OverlappingMarkerSpiderfier的情况下工作,因为它不能满足需求。只用很小的空间显示两个标记就可以知道有两个或更多的标记。谢谢。 – Grish
当然有。只需编码就可以做到这一点。或者改变输入数据,以避免重复。 – geocodezip