Marker Clusterer Plus不工作

时间:2013-07-16 09:03:32

标签: javascript google-maps

我正在使用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已经初始化当我从代码中调用它时,我可以使用代码中的集群。

1 个答案:

答案 0 :(得分:2)

群集是异步的。如果您收听“clusteringend”事件,群集将可用:

  google.maps.event.addListener(markerCluster, "clusteringend", function(mc) {
     document.getElementById('info').innerHTML += mc.getClusters().length+ " clusters<br>";
  });

working example