启用对使用geojson
淹没的图层进行编辑 var drawnItems = new L.FeatureGroup();
map.addLayer(drawnItems);
Json数据
$.getJSON("js/draw/neighborhoods.json",function(hoodData){
alert("this is editableLayers");
var i = 0;
var geojsonlayer = L.geoJson(hoodData,
{
onEachFeature: function (feature, layer) {
alert(feature.properties.prop0);
var myLayer = layer;
drawnItems.addLayer(myLayer);
}
});
map.addLayer(drawnItems);
});
添加控制
//draw control
var drawControl = new L.Control.Draw({
draw: false,
edit: {
featureGroup: drawnItems,
remove: false,
edit: true
}
});
map.addControl(drawControl);
map.on('draw:edited', function (e) {
var layers = e.layers;
layers.eachLayer(function (layer) {
console.log(layer)
});
});
使用此代码我可以绘制图层但无法编辑它。 我正在使用leaflet.draw lib。
答案 0 :(得分:0)
如果您可以使用一些示例数据设置JSFiddle,我可以仔细查看您已设置的过程。
理想情况下,在添加到控件并添加到地图之前,geojson数据可用。由于这是异步的,因此在每次从ajax / getJSON闭包更新后,应该将控件和图层添加到地图中。有点像每次要编辑新数据时清理工作区。