javascript - Javascript - 在MarkerCluster中,计数元素

141 0

在我的地图上有几家商店作为图层,我所有的商店都被添加到了MarkerCluster中,并且那个商店也被添加到了map中,一切正常,但是,当存储位于viewPort中时,我想显示有关简短信息。


map.eachLayer(function(layer)



但它不仅给我商店,还有很多东西,因此我更进一步:


if(map.getBounds().contains(layer.getLatLng()))



和预期的一样。

对于Clusterers则不是这样,我试图迭代:


$.each(layer._childClusters[0]._markers, function()


{


 var element = this;



 if(map.getBounds().contains(element.getLatLng()))


 { ....



但是不管用,

确定集群本身内部存储的最佳方法是什么?

时间: 原作者:

105 4

你应该能够遍历Marker Cluster Group中的各个子Marker,或者获取这些子Marks的数组,然后可以在第一个示例中执行类似操作,可能像第二个示例那样在viewport中过滤。


const mcg = L.markerClusterGroup();


mcg.addLayers(arrayOfMarkers);



// Loop through the child Markers:


mcg.eachLayer(function (layer) {


 if (map.getBounds().contains(layer.getLatLng())) {


 // Do something...


 }


});



// or get all child layers:


const childMarkers = mcg.getLayers();



原作者:
...