是否有一种直接的方式来获取Leaflet LayerGroup中的图层数量?快速浏览文档说目前还没有。
答案 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