2

是否可以动态创建图层组?我正在开发一个显示公园中存在的树种的网络地图,我正在尝试为每个物种创建一个 LayerGroup 以便使用 LayerControl 我可以隐藏和显示某些物种,为了测试,我一直在创建这样的图层组:

l1 = new L.LayerGroup();
//...
l100 = new L.LayerGroup();

而且我确信有一种方法可以根据存在的物种数量来做到这一点,我尝试过:

for (var i = 0; i < numberOfSpecies ; i++) {
  l[i] = new L.LayerGroup();
}

但是这样,我不能这样做:

l[0].addLayer(marker);

做这样的事情的最好方法是什么?

4

1 回答 1

2

是的你可以。例如:

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/

于 2018-02-16T20:03:56.000 回答