使用 Javascript 在 Google 地图中显示/隐藏标记集群

路易吉·卡拉多娜

我有一张带有 2 种类型标记的地图,直到现在我提供了 2 个复选框,可以使用以下代码显示/隐藏这些标记:

复选框

<input type="checkbox" id="suggested" name="suggested" onclick="toggleMarkers('suggested')">
<label for="suggested"> Suggested</label>
<input type="checkbox" id="organized" name="organized" onclick="toggleMarkers('organized')">
<label for="organized"> Organized</label>

Javascript

function toggleMarkers(type) {
    switch(type)
    {
        case 'suggested':
            for (var i = 0; i < suggested.length; i++) {
                if (suggested[i].getMap() === null) {
                    suggested[i].setMap(map);
                } else {
                    suggested[i].setMap(null);
                }
            }
            break;

        case 'organized':
            for (var i = 0; i < organized.length; i++) {
                if (organized[i].getMap() === null) {
                    organized[i].setMap(map);
                } else {
                    organized[i].setMap(null);
                }
            }
            break;

        default: break;
    }
}

其中suggestedorganized是包含相应类型标记的 2 个数组。现在我注意到有很多标记是不够的,地图可能会令人困惑,然后我决定引入标记集群。我可以这样做,导入库并添加就足够了

let suggestedCluster = new MarkerClusterer(map, suggested, {gridSize:80, styles:styles[0]});

let organizedCluster = new MarkerClusterer(map, organized, {gridSize:80, styles:styles[1]});

问题是我想保留显示/隐藏标记类别的功能,但上面的代码不再适用,它有错误的行为。如何显示/隐藏集群类别以及未包含在集群中的同一类别的标记?

乔纳森·威尔逊

根据参考MarkerClusterer有方法addMarkersclearMarkers

function toggleClusterer(type){
    switch(type)
    {
        case 'suggested':
            toggle(suggestedCluster, suggested);
            break;

        case 'organized':
            toggle(organizedCluster, organized);
            break;
    }

    function toggle(clusterer, markers) {
        if(clusterer.getMarkers().length == 0){
            clusterer.addMarkers(markers);
        } else {
            clusterer.clearMarkers();
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Google地图上使用MarkerWithLabel隐藏标记

来自分类Dev

无法在Google地图中使用setMap(null)或setVisible(false)清除标记

来自分类Dev

使用标记集群插件时突出显示传单地图项

来自分类Dev

使用JavaScript在Google地图中绘制多边形

来自分类Dev

用户在Google地图中使用信息窗口放置标记

来自分类Dev

我想在街景视图中隐藏地图标记。(Google地图第3版)

来自分类Dev

使用鼠标在角度Google地图中移动标记

来自分类Dev

使用Angular Maps在Google地图中放置标记

来自分类Dev

标记未显示在静态Google地图中

来自分类Dev

如何使用Angular Google地图在标记列表中的其他标记上设置特定的标记显示

来自分类Dev

在Google地图中显示可见的标记,很多标记

来自分类Dev

在更改锚标记的文本时,使用JavaScript显示/隐藏div

来自分类Dev

使用React状态,如何在添加新标记之前从Google地图中删除标记?

来自分类Dev

点击事件在Google地图中显示标记

来自分类Dev

我无法在Google地图中显示标记

来自分类Dev

隐藏和显示无法在我的Google地图上使用的自定义标记

来自分类Dev

标记无法显示在Google地图中

来自分类Dev

未使用JSON在Google地图中显示的标记

来自分类Dev

单击外部链接时,仅从Google地图中隐藏标记,仅显示其相应的标记

来自分类Dev

在角度Google地图中显示标记信息的错误

来自分类Dev

如何在Google地图中设置多个信息窗口,但是使用此特定的javascript方法

来自分类Dev

在Google地图中添加标记

来自分类Dev

标记消失在Google地图中

来自分类Dev

在Google地图中显示可见的标记,很多标记

来自分类Dev

Google地图-在地图中显示许多标记

来自分类Dev

错误:google.maps.number 不是构造函数,当使用 javascript 将旋转属性添加到谷歌地图中的图标或标记时

来自分类Dev

在 Google 地图中显示附近标记的距离和名称

来自分类Dev

使用 JavaScript 代码在 Google 地图中添加更多具有不同位置的标记

来自分类Dev

如何使用 JavaScript 在 Google 地图中的标记上显示标签 (InfoWindow)?

Related 相关文章

  1. 1

    在Google地图上使用MarkerWithLabel隐藏标记

  2. 2

    无法在Google地图中使用setMap(null)或setVisible(false)清除标记

  3. 3

    使用标记集群插件时突出显示传单地图项

  4. 4

    使用JavaScript在Google地图中绘制多边形

  5. 5

    用户在Google地图中使用信息窗口放置标记

  6. 6

    我想在街景视图中隐藏地图标记。(Google地图第3版)

  7. 7

    使用鼠标在角度Google地图中移动标记

  8. 8

    使用Angular Maps在Google地图中放置标记

  9. 9

    标记未显示在静态Google地图中

  10. 10

    如何使用Angular Google地图在标记列表中的其他标记上设置特定的标记显示

  11. 11

    在Google地图中显示可见的标记,很多标记

  12. 12

    在更改锚标记的文本时,使用JavaScript显示/隐藏div

  13. 13

    使用React状态,如何在添加新标记之前从Google地图中删除标记?

  14. 14

    点击事件在Google地图中显示标记

  15. 15

    我无法在Google地图中显示标记

  16. 16

    隐藏和显示无法在我的Google地图上使用的自定义标记

  17. 17

    标记无法显示在Google地图中

  18. 18

    未使用JSON在Google地图中显示的标记

  19. 19

    单击外部链接时,仅从Google地图中隐藏标记,仅显示其相应的标记

  20. 20

    在角度Google地图中显示标记信息的错误

  21. 21

    如何在Google地图中设置多个信息窗口,但是使用此特定的javascript方法

  22. 22

    在Google地图中添加标记

  23. 23

    标记消失在Google地图中

  24. 24

    在Google地图中显示可见的标记,很多标记

  25. 25

    Google地图-在地图中显示许多标记

  26. 26

    错误:google.maps.number 不是构造函数,当使用 javascript 将旋转属性添加到谷歌地图中的图标或标记时

  27. 27

    在 Google 地图中显示附近标记的距离和名称

  28. 28

    使用 JavaScript 代码在 Google 地图中添加更多具有不同位置的标记

  29. 29

    如何使用 JavaScript 在 Google 地图中的标记上显示标签 (InfoWindow)?

热门标签

归档