gpt4 book ai didi

javascript - 计算 MarkerCluster 中的元素数量

转载 作者:行者123 更新时间:2023-11-28 03:25:10 26 4
gpt4 key购买 nike

所以我的 map 上有几家商店作为图层。我的所有商店都已添加到 MarkerCluster,并且该商店已添加到 map ,一切正常。但我想在商店位于我的 viewPort 中时显示有关该商店的简短信息。

对于通常的商店(层),这是第一次尝试,但集群组不起作用:(我从这个开始:

map.eachLayer(function(layer)

但它不仅仅给了我商店,还给了我很多东西。所以我进一步:

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

并且按预期工作。

集群器则不然。我尝试迭代类似的事情:

$.each(layer._childClusters[0]._markers, function()
{
var element = this;

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

但这行不通。有时我将 clusteredGroup(由 4 个商店组成)作为 1 层......和一个商店。有时 40。

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

最佳答案

您应该能够循环遍历标记集群组中的各个子标记,或者获取这些子标记的数组。然后您可以像第一个示例中那样执行操作,可能会像第二个示例中那样过滤视口(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();

关于javascript - 计算 MarkerCluster 中的元素数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58707554/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com