visibility - 设置 MarkerClusterer 的可见性

标签 visibility markerclusterer

尝试切换 MarkerClusterer (V3) 的可见性:

var hydrantsShowing = true;  

function ToggleHydrants() {  
    var markers = hydrantsClusterer.getMarkers();

    for (var i = 0; i < markers.length; i++) {
        markers[i].setVisible(!hydrantsShowing);
    }

    hydrantsShowing = !hydrantsShowing;
}

标记确实会切换,但有两个问题:
1. map 必须平移一点才能发生变化。
2. MarkerClusterer 图标(带有数字)始终存在,即使在标记不可见之后也是如此。

我也尝试过使用 setMap 方法,但具有类似的行为:

var hydrantsShowing = true;  

function ToggleHydrants() {  
    var markers = hydrantsClusterer.getMarkers();

    if (hydrantsShowing) {
        for (var i = 0; i < markers.length; i++) {
            markers[i].setMap(null);
        }
    }
    else {
        for (var i = 0; i < markers.length; i++) {
            markers[i].setMap(gmap);
        }
    }

    hydrantsShowing = !hydrantsShowing;
}

最佳答案

通过使用 MarkerClustererPlus 解决了这个问题。

var hydrantsShowing = true;  

function ToggleHydrants() {
  var markers = hydrantsClusterer.getMarkers();

  for (var i = 0; i < markers.length; i++) {
      markers[i].setVisible(!hydrantsShowing);
  }

  hydrantsClusterer.repaint();
  hydrantsShowing = !hydrantsShowing;
}  

设置可见性后调用 repaint() 解决所有问题。
原来的MarkerClusterer没有这个功能。

关于visibility - 设置 MarkerClusterer 的可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11201578/

相关文章:

css - 在 CSS #unseen 样式方面需要帮助

asp.net - RDLC 报告 Group By 中的列可见性问题

php - 访问同一类的另一个对象的 protected 属性的方法

android - 动画可见性模式,GONE 和 VISIBLE

google-maps-api-3 - markclustererplus 悬停时 CSS 发生变化

javascript - 谷歌地图集群不工作

多个线程之间的 Java 数组元素可见性

javascript - Google Maps API 标记聚类器更改级别大小

android - 如何在android中为聚类标记添加信息窗口?

ElasticSearch:地理点聚类