标记集群在设置后不会改变

时间:2012-01-26 16:48:33

标签: google-maps-api-3 visibility markerclusterer

目前我有一组标记,我将它们聚类为:

var markerCluster = new MarkerClusterer(map, cm_mapMarkers);

但我也有一组过滤器,用于设置标记可见的假或真。 不幸的是,当我设置标记setvisible(false)时,簇计数没有改变。

所以我找了方法来做到这一点:

我尝试了以下内容:

MarkerClusterer.redraw();
MarkerClusterer.repaint();

两者都导致:没有方法'重绘'没有方法'重绘'

这是一个JSfiddle:

http://jsfiddle.net/tDYcX/30/

有谁知道我做错了什么?

提前致谢

3 个答案:

答案 0 :(得分:15)

我设法使用markerclustererplus并使用markerCluster.setIgnoreHidden(true); and markerCluster.repaint();

答案 1 :(得分:2)

MarkerClusterer并非真的是为那种东西而设计的。执行所需操作的最简单方法是使用与您的过滤器匹配的新标记数组clearMarkers()然后addMarkers(markers)

答案 2 :(得分:1)

经过一段时间的尝试,我找到了一个有效的解决方案,对那里的人有帮助......

将markerCluster和地图(mymap)保存在变量中。

然后循环遍历所有可用的标记,并像这样:

if (show) {
        markerCluster.addMarker(markers[i]);

        if (markers[i].getMap == null)
            markers[i].marker.setMap(mymap);
        showing++;
    } else {

        markerCluster.removeMarker(markers[i]);

        if (markers[i].getMap != null)
            markers[i].marker.setMap(null);
    }
相关问题