Leaflet.draw - Запустить событие, когда закончится издание круга или многоугольника? - PullRequest
0 голосов
/ 20 сентября 2018

Я использую Leaflet.draw v 1.0.3

Вот мой основной сценарий:

Я загружаю все фигуры (толькополигоны или круги), созданные ранее пользователем из моей БД.
Эти фигуры доступны для редактирования.

Однако я не могу найти событие Edited или EditedComplete, которое запускается при редактировании заканчивается .Моя цель - получить новые координаты (радиус и центр, если это круг, или широта / долгота вершины каждого многоугольника) и сохранить их в моей БД.
Очевидно, мне нужна только одна операция обновления, когда процесс редактирования завершен.

Я только нашел:

  • L.Draw.Event.EDITRESIZE, но он срабатывает во время процесса изменения размера, а не после его завершения.
  • L.Draw.Event.EDITMOVE, но срабатываетво время процесса перемещения, а не после его окончания.

Событие L.Draw.Event.EDITED существует, но не срабатывает, когда ожидается.

Я полагаю, что эти события существуют, но я могу 'не могу их найти.Я только нашел эту проблему , и меня это беспокоит ...
Любая помощь?

1 Ответ

0 голосов
/ 04 февраля 2019

Я столкнулся с той же проблемой и исправил ее, выполнив следующее:

после создания слоя (круг / полигон) я добавил прослушиватель редактирования для созданного слоя:

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/ Для проверки: создайте полигон или окружность и перейдите в режим редактирования, обновите радиус и посмотрите

Я надеюсь, что это может помочь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...