我需要编辑多段线,我设置了一个 FeatureGroup,但它允许您一次编辑所有多段线,但我需要选择一条。此外,如果该行是通过 geoJSON 创建的,则它不起作用。 我的代码:
map = L.map('osm-map').setView([_lat, _lon], 15);
L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
attribution: 'Map data © <a href="https://www.openstreetmap.org /copyright">OpenStreetMap</a> contributors, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
maxZoom: 20,
id: 'mapbox/streets-v11',
tileSize: 512,
zoomOffset: -1,
accessToken: '***'
}).addTo(map);
var editableLayers = new L.FeatureGroup();
map.addLayer(editableLayers);
var options = {
position: 'topleft',
draw: {
polyline: {
shapeOptions: {
color: '#f357a1',
weight: 10
}
},
polyline: true,
circle: false,
polygon: false,
marker: false,
rectangle: false,
},
edit: {
featureGroup: editableLayers,
remove: false
}
};
var drawControl = new L.Control.Draw(options);
map.addControl(drawControl);
map.on('draw:created', function(e) {
var type = e.layerType,
layer = e.layer;
if (type === 'polyline') {
layer.bindPopup('A polyline!');
}
editableLayers.addLayer(layer);
});
更新:
好的,我只是在editableLayer中添加了选定的折线
.on('click', function(e){
editableLayers.addLayer(e.layer);
});
但是之后如何清除图层?以及保存后如何获取信息?谢谢大家