隐藏标记显示在谷歌地图api v3中的群集图标中

时间:2012-11-09 20:50:50

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

我在我的项目中使用谷歌地图api与群集(MarkerClusterer)

var markers=[];
for(var i=0;i<1000;i++)
{ //create marker
    markers.push(marker):
}
 markerclusterer = new MarkerClusterer(map, markers);
// then .. in another part .. i do .
for(var j=0;j<200;j++)
{
markers[j].setVisible(false);
}
markerclusterer.draw();

问题::

它隐藏了200个标记但在群集图标中它仍然是..

我的意思是..(如果我计算群集图标中显示的数字= 1000)。但实际上有800个标记可见,200个被隐藏。)

如何仅使群集图标= 800。 ..thnx

1 个答案:

答案 0 :(得分:3)

完成循环后,添加.repaint()方法,以便更新计数器。 但主要的是你需要在hide / show marker

上自动添加/删除markerclusterer对象中显示/隐藏的标记。
var markers=[], markerclusterer;

markerclusterer = new MarkerClusterer(map, []);

for(var i=0;i<1000;i++)
{ 
    //create marker
    markerclusterer.addMarker(marker, true);

    google.maps.event.addListener(marker, 'visible_changed', function(){
        if ( marker.getVisible() ) {
            markerclusterer.addMarker(marker, true);
        } else {
            markerclusterer.removeMarker(marker, true);
        }                   
    });
}
// then .. in another part .. i do .
for(var j=0;j<200;j++)
{
    markers[j].setVisible(false);
}
markerclusterer.repaint();

希望能帮助某人。