如何将图层设置为已编辑以调用绘图:已编辑

时间:2018-11-15 17:28:17

标签: javascript leaflet edit leaflet.draw

我正在尝试使用Leaflet.Draw在地图上手动创建标记。 当我使用Leaflet.Draw添加标记时,在draw:created处理程序中,我想打开一个用于创建表单的弹出窗口。

从这里开始,一切正常,我可以处理该弹出窗口和标记的创建并将其保存在数据库中。

这里是我想编辑它的地方:

我单击编辑按钮,它使标记可编辑,然后单击以打开带有表单的弹出窗口。我在弹出窗口中更改消息,然后单击“编辑工具栏保存”按钮,该按钮将调用draw:edited处理程序。

很遗憾,我的标记没有移动,因此不被视为已编辑图层。

如何将标记设置为“已编辑”以使其被draw:edited处理程序视为已编辑?即使它没有移动?

实际上,这些处理程序是如何工作的?

1 个答案:

答案 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是标记)。