5

有没有一种简单的方法来获取Leaflet LayerGroup中的层数?快速浏览一下文档说目前没有。

4

3 回答 3

8

更新的答案

自从我第一次回答以来,LayerGroup已经用一种getLayers()方法进行了扩展,使解决方案变得简单:

layerGroup.getLayers().length.


**旧**多余的答案:

查看LayerGroup 代码,您应该可以得到层数layerGroup._layers.length

但请注意,_layers实现者的目的是私有的,所以我想你不能确定这将在未来的版本中工作。

如果您想留在公共 API 中,那么您可以调用eachLayer并计算层数。

于 2012-08-31T07:47:10.603 回答
2

Asborn 暗示您可以通过任何图层事件对象访问地图图层对象。

例如

map.addEventListener('viewreset', function(event){
    console.log(event.target._layers);
}, false);

要获得计算密钥所需的长度,最简单的方法是使用 ECMA(chrome、node 等)

Object.keys(map._layers).length

我很惊讶没有 API 来获取这些信息,例如

maps.getLayers();

:)

编辑:实际上有: http: //leafletjs.com/reference.html#layergroup

getLayers()

它返回该组内的图层数组。

于 2013-08-15T11:20:12.717 回答
0

只需键入变量名称或函数名称或传单层名称,就有一种简单的方法来获取与传单或其他相关的所有函数。

 here I used google chrome console manager.
 just type the layer name you will get all the functions related to it

请看下面的图片 https ://i.stack.imgur.com/1LDz0.png

于 2018-03-15T06:35:03.357 回答