想要了解乔治麦克克隆开发的蜘蛛。但是我有另一个要求是用所有标记加载地图" spiderd"默认情况下输出。我可以通过使用javascript来点击标记来模仿这一点,但是使用spiderfy代码必须有另一种方法。有没有人完成这个?
var map = new google.maps.Map(document.getElementById("map-canvas"), options);
var iw = new google.maps.InfoWindow();
var oms = new OverlappingMarkerSpiderfier(map, {keepSpiderfied: true});
答案 0 :(得分:4)
我想出了一个适合我的解决方案。在我添加了所有标记之后,我设置了一个超时来调用一个函数来打开每个集群和OMS js。
找到这个:
(!e||!this.keepSpiderfied)&&this.unspiderfy();
替换为:
(!e||!this.keepSpiderfied);
调用打开每个群集组的功能:
function openAllClusters() {
var markers = oms.markersNearAnyOtherMarker();
$.each(markers, function (i, marker) {
google.maps.event.trigger(markers[i], 'click');
});
}
我添加了我的最后一个标记后设置了超时(因为它只是在之后立即调用该函数不起作用):
setTimeout(openAllClusters, 2000);
答案 1 :(得分:1)
keepSpiderfied(默认值:false)
默认情况下,OverlappingMarkerSpiderfier的工作方式与Google Earth类似,当您点击>一个蜘蛛标记,在任何其他动作发生之前,标记都是非标记的。
因为这可能使用户逐个处理一组标记变得棘手,所以你>可以通过将keepSpiderfied选项设置为true来覆盖此行为。
答案 2 :(得分:0)
根据谷歌地图扩展的开发者,这将无法正常工作。
https://github.com/jawj/OverlappingMarkerSpiderfier/issues/2