Leaflet:动态计算加载到图层中的功能数量
Leaflet : Dynamically count number of feaures loaded into a layer
我有一个应用程序,其中 markers/features 从多个来源加载到 layers/layerGroups(正确的术语是什么?),并且它们正在动态加载(基于 [=11= 中的某些属性) ] 和其他条件)。我希望能够在侧面板上显示当前加载到所显示图层中的标记数量。仅给定层的 variable/identifier,如何找到加载到其中的 markers/features 的数量?
var layer1= L.layerGroup();
layerControl.addOverlay(layer1, 'Layer 1');
... // loading stuff into this layer from different sources
console.log(layer1.length); // doesn't work, gives "undefined"
console.log(JSON.stringify(layer1)); // doesn't work, "TypeError: cyclic object value"
..所以我猜图层不能像 JSON 对象一样对待。
我找到了一个 related question,但那里的答案只解决了从一个 geoJson 源加载的标记,并建议在 onEachFeature
中使用一个简单的 counter++
。我在我的应用程序中使用了很多层,并且希望不必为每个层都放置一个单独的计数器变量,而只想使用层的 variable/identifier 来计数。如果我们可以如此简单地向地图或集群组添加图层,那么我们应该能够计算其中的内容,对吗?
getLayers()
函数 returns 包含对象中所有特征的数组。然后你可以得到那个数组的长度。
layer_variable.getLayers().length;
我有一个应用程序,其中 markers/features 从多个来源加载到 layers/layerGroups(正确的术语是什么?),并且它们正在动态加载(基于 [=11= 中的某些属性) ] 和其他条件)。我希望能够在侧面板上显示当前加载到所显示图层中的标记数量。仅给定层的 variable/identifier,如何找到加载到其中的 markers/features 的数量?
var layer1= L.layerGroup();
layerControl.addOverlay(layer1, 'Layer 1');
... // loading stuff into this layer from different sources
console.log(layer1.length); // doesn't work, gives "undefined"
console.log(JSON.stringify(layer1)); // doesn't work, "TypeError: cyclic object value"
..所以我猜图层不能像 JSON 对象一样对待。
我找到了一个 related question,但那里的答案只解决了从一个 geoJson 源加载的标记,并建议在 onEachFeature
中使用一个简单的 counter++
。我在我的应用程序中使用了很多层,并且希望不必为每个层都放置一个单独的计数器变量,而只想使用层的 variable/identifier 来计数。如果我们可以如此简单地向地图或集群组添加图层,那么我们应该能够计算其中的内容,对吗?
getLayers()
函数 returns 包含对象中所有特征的数组。然后你可以得到那个数组的长度。
layer_variable.getLayers().length;