gpt4 book ai didi

javascript - 谷歌地图 Spiderfy 默认打开

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:24:51 29 4
gpt4 key购买 nike

希望利用 George MacKerron 开发的 spiderfy。但是我还有另一个要求,即默认加载所有标记为“spiderd”的 map 。我可以通过使用 javascript 单击标记来模仿这一点,但必须有另一种方法,即使用 spiderfy 代码。有没有人做到这一点?

https://github.com/jawj/OverlappingMarkerSpiderfier#overlapping-marker-spiderfier-for-google-maps-api-v3

var map = new google.maps.Map(document.getElementById("map-canvas"), options);
var iw = new google.maps.InfoWindow();
var oms = new OverlappingMarkerSpiderfier(map, {keepSpiderfied: true});

http://jsfiddle.net/vFAy6/5/

最佳答案

我想出了一个适合我的解决方案。添加所有标记后,我设置了一个超时来调用一个函数来打开每个集群并在 OMS js 中。

  1. keepSpiderfied 保持所有蜘蛛标记打开。它对我不起作用,所以我更改了 OMS js。如果它适合您,则无需更改。

找到这个:

(!e||!this.keepSpiderfied)&&this.unspiderfy();

替换为:

(!e||!this.keepSpiderfied);
  1. 调用打开每个集群组的函数:

    function openAllClusters() {
    var markers = oms.markersNearAnyOtherMarker();

    $.each(markers, function (i, marker) {
    google.maps.event.trigger(markers[i], 'click');
    });
    }
  2. 我在添加最后一个标记后设置了超时(因为在之后立即调用该函数是行不通的):

    setTimeout(openAllClusters, 2000);

关于javascript - 谷歌地图 Spiderfy 默认打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20999778/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com