是否可以动态创建LayerGroups?我正在开发一张网络地图,显示公园中存在的树种,我正在尝试为每种树种创建一个LayerGroup,以便使用LayerControl我可以隐藏并显示某些树种,以便进行测试。一直在创建这样的LayerGroups:
l1 = new L.LayerGroup();
//...
l100 = new L.LayerGroup();
而且我敢肯定,有一种方法可以根据存在的物种数量来做到这一点,我已经尝试过:
for (var i = 0; i < numberOfSpecies ; i++) {
l[i] = new L.LayerGroup();
}
但是这样,我不能这样做:
l[0].addLayer(marker);
做这样的事情的最好方法是什么?
最佳答案
是的你可以。
例如:
var layerGroups = {}
for (var i = 0; i < 3; ++i) {
layerGroups[i] = L.layerGroup().addTo(map);
}
for (var i = 0; i < 3; ++i) {
layerGroups[i].addLayer(L.marker([i,i]))
}
您可以在这里尝试:https://jsfiddle.net/mckbda9y/6/