Google MarkerClusterer - 动态更改图标

时间:2018-02-06 07:02:24

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

是否可以动态更改群集图标?标准不是群集中标记的数量,而是群集内数据的一些给定值。我需要根据这些数据每10秒更新一次图标。我没有找到任何样品,我想知道它是否可能。我试过跟随,但它有任何影响:

$.each(global.markersCluster.clusters_, function (index, cluster) {
   cluster.clusterIcon_.index_ = 2;
   cluster.clusterIcon_.url_ = '';

   var eee = '';
});

1 个答案:

答案 0 :(得分:0)

Marker cluster documentation中,它显示您可以像这样创建标记群集

var markerCluster = new MarkerClusterer(map, markers,
        {imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'});
}

因此,您可以使用标记。在这种情况下,有一个简短的条件,请记住,代码不会接受任何更复杂的事情,如语句,切换案例。

var markerCluster = new MarkerClusterer(map, markers,
        {imagePath: imgPath = (markers < 10) img1 : img2'});
}

在这种情况下,我要做的是将一个markerclusterer创建封装在一个函数中,并每隔10秒调用一次。

function updateMarkerClusterer(newIcon, oldMarkerClusterer) {
  var map = oldMarkerClusterer.getMap(),
      markers = oldMarkerClusterer.getMarkers();

  oldMarkerClusterer.clearMarkers();

  var updatedMarkerCluster = new MarkerClusterer(map, markers,
    {imagePath: newIcon});
  }

}

在这种情况下,您删除群集并再次创建它,您还可以尝试使用resetDraw()和resetViewport()方法。  以下是MarkerClusterer for Google Maps v3参考资料以获取更多信息。