我有一个我创建的geojson功能。编辑后,我知道有一个平局:编辑过的事件。如何获得多边形所包含的原始点,是否可以获得新的多边形点?怎么样?是否可以知道哪些顶点已被更改或添加?
我尝试了以下操作,所有这些都不起作用:
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);
});
答案 0 :(得分:1)
在draw:created
上触发的L.Map
事件会将L.LayerGroup
作为e.layers
返回,其中包含刚刚编辑过的所有功能。这是因为您可以在按下保存按钮之前一次编辑多个功能。您可以迭代L.LayerGroup
,然后获取GeoJSON:
map.on('draw:edited', function (e) {
e.layers.eachLayer(function (layer) {
console.log(layer.toGeoJSON());
});
});