如何在编辑控件中分配多个功能组,
假设我们有两个功能组(可以是多个),我们希望将编辑控件分配给两个组。
这是小组,
var attLayerGroup = new L.FeatureGroup();
var photoLayerGroup = new L.FeatureGroup();
这就是我如何将控件分配给组,
var drawControl = map.addControl(new L.Control.Draw({
edit: {
featureGroup: photoLayerGroup,attLayerGroup,
poly: {
allowIntersection: true
}
},
draw: {
polygon: {
allowIntersection: false,
showArea: true
}
}
}));
将Edit控件分配给FeatureGroup是否正确? 如果没有,我们怎么做呢?
答案 0 :(得分:0)
Leaflet.Draw featureGroup
不接受多个功能组。
您可以设置两个Leaflet.Draw实例,每个实例组一个。但是,我预测你会遇到Leaflet.Draw设置按钮以及每个实例抛出的事件的问题。
第二个选项是使用Leaflet.Draw的单个实例,并使用切换交换功能组。
答案 1 :(得分:0)
如果您的2个初始要素组之间没有特定的区别,则只需将每个单独图层的引用复制到新的父要素组中,并将后者用作Leaflet.draw featureGroup
选项:
var fg = L.featureGroup();
photoLayerGroup.eachLayer(function (layer) {
if (!layer instanceof L.LayerGroup) {
fg.addLayer(layer);
}
});
// Same for attLayerGroup.
new L.Control.Draw({
edit: {
featureGroup: fg
}
});