我在我的项目中使用谷歌地图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
答案 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();
希望能帮助某人。