Leaflet.Draw кнопка редактирования и удаления не работает - PullRequest
2 голосов
/ 05 апреля 2019

Я использую Leaflet Draw, чтобы пользователи могли рисовать ломаную линию на карте для измерения сечений.Первый шаг - использовать Leaflet.Draw, чтобы позволить пользователям нарисовать линию.Leaflet.Draw включает в себя кнопку удаления и редактирования.Эти кнопки, однако, не работают.

Я (повторно) использовал рабочий код из других проектов, чтобы создать элемент управления рисованием и передать ему FeatureGroup и редактируемые слои.

// My draw Toolbar
var drawnItems = new L.FeatureGroup()
map.addLayer(drawnItems)
var drawControl = new L.Control.Draw({
  draw:{polygon: false,
        marker: false,
        circlemarker: false,
        rectangle: false,
        circle: false,
    },
  edit: {
    featureGroup: drawnItems
  }
});

map.addControl(drawControl);
map.on(L.Draw.Event.CREATED, function (e) {
   var layer = e.layer;
   map.addLayer(layer);
});

Кажетсякак будто я правильно связываю группу объектов, но по некоторым причинам удаление и редактирование не работают :(

1 Ответ

1 голос
/ 05 апреля 2019

Вы добавляете нарисованные элементы в map, но они должны быть добавлены к слою, указанному edit.featureGroup, если вы хотите редактировать их , т.е. drawnItems:

map.on(L.Draw.Event.CREATED, function (e) {
    var layer = e.layer;
    drawnItems.addLayer(layer);
});

Вот демоверсия https://jsfiddle.net/4g5u071r/

...