gpt4 book ai didi

leaflet - 将图层组中的图层动态添加到传单中的图层控制中

转载 作者:行者123 更新时间:2023-12-02 20:36:58 26 4
gpt4 key购买 nike

我正在通过 xhr 调用创建一堆矢量图层,并希望将其添加到图层组并将该图层组添加到图层控件。我的想法是

1. Add a layer control to the map with only the base layer in the control
2. Create a layer via `xhr`
2.1. Check if layer group LG exists in layer control
2.1.1. If yes, add layer to LG
2.1.2. If no, add layer group LG to layer control and add layer to LG
3. Repeat #2 above.

嗯,我尝试了上面的方法(没有图层组部分)并且有效(下面的代码)。

LC = L.control.layers({'OSM': osm}).addTo(map);

然后

x.onload = function(e) {
if (x.readyState === 4) {
if (x.status === 200) {
var res = JSON.parse(x.responseText);
..
LC.addOverlay(lyr, "layer name");
}
}
};

但是,我无法弄清楚如何使用图层组来做到这一点。欢迎提出建议。

最佳答案

在你的ajax回调中,你应该找到

layerGroup = L.layerGroup()
.addLayer(vector1)
.addLayer(vector2)
.addLayer(vector3)
....
.addTo(map);

if(layerControl === false) { // var layerControl set to false in init phase;
layerControl = L.control.layers().addTo(map);
}

layerControl.addOverlay(layerGroup , "My batch of vectors");

请参阅此处的示例:http://jsfiddle.net/FranceImage/9xjt8223/

关于leaflet - 将图层组中的图层动态添加到传单中的图层控制中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25372033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com