javascript - Marker Clusterer Plus 不工作

标签 javascript google-maps

我正在使用 marker clusterer plus library 制作一个 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当我从代码中调用它时,我可以从我的代码中使用它的集群。

最佳答案

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

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

working example

关于javascript - Marker Clusterer Plus 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17672295/

相关文章:

javascript - 如何在 AngularJS 中有条件地设置属性

jquery - GMaps.js : Trace route between two markers set by geocoding

jquery - gmaps 上方的 float 滑动切换菜单

javascript - redux 中的 split 状态

javascript - 无法获取输入 ionic 3 的值

javascript - 为什么在加载页面时会调用 window.onresize?

javascript - 当鼠标悬停在 HTML 表格单元格上时,我有哪些选项可以弹出日期列表?

java - 迁移 androidX 后无法实例化 fragment com.google.android.gms.maps.SupportMapFragment

javascript - 谷歌地图,如何捕获POI上的右键单击事件

java - R.java 没有 R.id.map 的 map