我正在尝试使用Leaflet.Draw在地图上手动创建标记。 当我使用Leaflet.Draw添加标记时,在draw:created处理程序中,我想打开一个用于创建表单的弹出窗口。
从这里开始,一切正常,我可以处理该弹出窗口和标记的创建并将其保存在数据库中。
这里是我想编辑它的地方:
我单击编辑按钮,它使标记可编辑,然后单击以打开带有表单的弹出窗口。我在弹出窗口中更改消息,然后单击“编辑工具栏保存”按钮,该按钮将调用draw:edited处理程序。
很遗憾,我的标记没有移动,因此不被视为已编辑图层。
如何将标记设置为“已编辑”以使其被draw:edited处理程序视为已编辑?即使它没有移动?
实际上,这些处理程序是如何工作的?
答案 0 :(得分:0)
查看Leaflet.Draw源,它将dragend
事件钩在这样的标记上
_onDragEnd: function (e) {
var layer = e.target;
layer.edited = true;
this._map.fire(L.Draw.Event.EDITMOVE, {layer: layer});
}
您可以在代码中设置layer.edited
属性(其中layer
是标记)。