我创建了一个 geojson 功能。编辑后,我知道有一个draw:edited事件。如何获取多边形组成的原始点,是否可以获取新的多边形点?如何?是否可以知道哪些顶点被更改或添加?
我尝试了以下方法,但都不起作用:
map.on('draw:edited', function (e) {
var type = e.layerType;
var layer = e.layer; // this is giving undefined errors
var shape = layer.toGeoJSON() // this is undefined
var shape_for_db = JSON.stringify(shape);
});
最佳答案
在L.Map
上触发的draw:created
事件返回一个L.LayerGroup
作为e.layers
,其中包含刚刚编辑过的所有功能。这是因为您可以在按保存按钮之前一次编辑多个功能。您可以迭代L.LayerGroup
,然后获取GeoJSON:
map.on('draw:edited', function (e) {
e.layers.eachLayer(function (layer) {
console.log(layer.toGeoJSON());
});
});
关于javascript - 在传单中编辑多边形后如何获取修改后的和原始的geojson点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35764790/