获取Leaflet LayerGroup大小的简便方法?

时间:2012-08-30 01:00:24

标签: mapping leaflet

是否有一种直接的方式来获取Leaflet LayerGroup中的图层数量?快速浏览文档说目前还没有。

3 个答案:

答案 0 :(得分:5)

自我的第一个回答以来,LayerGroup已使用getLayers()方法进行了扩展,使解决方案变得简单明了:layerGroup.getLayers().length


旧的冗余答案:

查看LayerGroup code,您应该可以按layerGroup._layers.length获取图层数。

但请注意,实现者的_layers是私有的,所以我猜你无法确定这在将来的版本中是否有用。

如果您希望保留在公共API中,则可以调用eachLayer并计算图层数。

答案 1 :(得分:2)

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

e.g。

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

获取计算密钥所需的长度,最简单的方法是使用ECMA(chrome,节点等)

Object.keys(map._layers).length

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

maps.getLayers();

:)

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

getLayers()

并返回该组中的图层数组。

答案 2 :(得分: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