javascript - 传单 - 动态创建图层组

标签 javascript ajax dynamic leaflet leaflet.markercluster

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

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/

关于javascript - 传单 - 动态创建图层组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48804842/

相关文章:

javascript - 为什么当我运行 For 循环时它不起作用?

javascript - 使用正则表达式检查复选框

php - 使用 $http 的多个 ajax 请求最佳实践

javascript - 如何使用 angularjs 创建点击按钮时的动态输入字段?

html - 带有 CSS 或 jQuery 的动态形状(也许是流体?)div

javascript - mechanize python 库是否能够等到 javascript 动态加载内容后再获取页面内容

javascript - 如何在不使用 <MuiThemeProvider/> 的情况下更改 Material-UI TextField 底部颜色

javascript - 如何获取动态 JQuery Mobile Accordion?

javascript - 使用 jQuery deferred 链接和排队 ajax 请求

javascript - for 循环生成图表 (amchart)