Leaflet - 动态创建图层组

Leaflet - Creating LayerGroups Dynamically

是否可以动态创建 LayerGroups? 我正在开发一个 web 地图来显示公园中存在的树种,我正在尝试创建一个 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/