【问题标题】:Leaflet.draw - Fire an event when edition of a circle or polygon ends?Leaflet.draw - 当圆形或多边形的版本结束时触发事件?
【发布时间】:2018-09-20 17:42:32
【问题描述】:

我正在使用Leaflet.draw v1.0.3

这是我的基本场景:

我从我的数据库中加载用户之前创建的所有形状(仅多边形或圆形)。
这些形状是可编辑的。

但是,我找不到在编辑结束时触发的EditedEditedComplete 事件。我的目标是获取新坐标(半径和中心,如果它是一个圆,或者每个多边形顶点的纬度/经度)并将它们存储在我的数据库中。
显然,当编辑过程结束时,我只需要一次更新操作。

我只找到了:

  • L.Draw.Event.EDITRESIZE 但它在调整大小过程中被触发,而不是在结束时触发。
  • L.Draw.Event.EDITMOVE 但它在移动过程中被触发,而不是在结束时触发。

事件L.Draw.Event.EDITED 存在,但没有按预期触发。

我猜这些事件存在,但我找不到它们。我只找到this issue,这让我很担心...
有什么帮助吗?

【问题讨论】:

    标签: events leaflet shapes leaflet.draw


    【解决方案1】:

    我遇到了同样的问题,我通过执行以下操作解决了它:

    创建图层(圆形/多边形)后,我在创建的图层上添加了一个编辑侦听器:

    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/ 为了检查:创建一个多边形或圆形并传递到编辑模式,更新半径并查看

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-09
      • 2016-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-11
      • 2012-07-10
      • 2012-11-28
      相关资源
      最近更新 更多