我正在使用Leaflet.draw v 1.0.3
这是我的基本情况:
我从数据库中加载了用户先前创建的所有形状(仅多边形或圆形)。
这些形状是可编辑的。
但是,我找不到在编辑结束时触发的Edited
或EditedComplete
事件。我的目标是获取新坐标(如果是圆,则为半径和中心,或者每个多边形顶点的纬度/经度)并将其存储在我的数据库中。
显然,编辑过程结束后,我只需要执行一次更新操作。
我只发现了:
L.Draw.Event.EDITRESIZE
,但它是在调整大小过程中触发的,而不是在结束时触发的。L.Draw.Event.EDITMOVE
,但它是在移动过程中触发的,而不是在结束时触发的。事件L.Draw.Event.EDITED
存在,但在预期时不会触发。
我猜这些事件确实存在,但是我找不到它们。我只找到了this issue,这让我很担心...
有帮助吗?
答案 0 :(得分:0)
我遇到了相同的问题,并通过以下操作解决了该问题:
创建图层(圆形/多边形)后,我在创建的图层上添加了一个编辑侦听器:
map.on(L.Draw.Event.CREATED, function(e) {
var type = e.layerType
, layer = e.layer;
drawnItems.addLayer(layer);
layer.on("edit", function(event) {
console.log("layer edited !");
..........
});
});
您可以看一下以下示例:
http://jsfiddle.net/Zoubir/oer03zu4/ 为了检查:创建一个多边形或圆形并进入编辑模式,更新半径并查看
我希望这可以帮助