我正在使用marker clusterer plus库创建一个webapp,我正在使用的代码是:
map = new google.maps.Map(document.getElementById('map'), {
zoom: 17,
center: center,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
markers=[]
for (var i = 0; i < puntos.length; i++) {
punto=puntos[i]
posicion = new google.maps.LatLng(punto[0],punto[1]);
marker = new google.maps.Marker({position: posicion});
markers.push(marker);
}
markerCluster = new MarkerClusterer(map, markers,{ maxZoom:20,gridSize:45,averageCenter:true});
console.log(markerCluster.clusters_)
问题是它在控制台中打印了markerCluster对象,但它是空的,没有集群,当我在控制台中再次调用它时它已经在工作了所以我的问题是,无论如何都有对象markerCluster已经初始化当我从代码中调用它时,我可以使用代码中的集群。
答案 0 :(得分:2)
群集是异步的。如果您收听“clusteringend”事件,群集将可用:
google.maps.event.addListener(markerCluster, "clusteringend", function(mc) {
document.getElementById('info').innerHTML += mc.getClusters().length+ " clusters<br>";
});