如何编辑折线?传单

时间:2021-01-15 10:26:30

标签: javascript leaflet leaflet-draw

我需要编辑多段线,我设置了一个 FeatureGroup,但它允许您一次编辑所有多段线,但我需要选择一条。此外,如果该行是通过 geoJSON 创建的,则它不起作用。 我的代码:

map = L.map('osm-map').setView([_lat, _lon], 15);

L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
   attribution: 'Map data &copy; <a href="https://www.openstreetmap.org  /copyright">OpenStreetMap</a> contributors, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
   maxZoom: 20,
   id: 'mapbox/streets-v11',
   tileSize: 512,
   zoomOffset: -1,
   accessToken: '***'
}).addTo(map);

var editableLayers = new L.FeatureGroup();
map.addLayer(editableLayers);

var options = {
  position: 'topleft',
  draw: {
    polyline: {
        shapeOptions: {
        color: '#f357a1',
        weight: 10
          }
    },
    polyline: true,
    circle: false, 
    polygon: false,
    marker: false,
    rectangle: false,
  },
  edit: {
    featureGroup: editableLayers,
    remove: false
  }
};


var drawControl = new L.Control.Draw(options);
map.addControl(drawControl);

map.on('draw:created', function(e) {
  var type = e.layerType,
    layer = e.layer;

  if (type === 'polyline') {
    layer.bindPopup('A polyline!');
  } 
  editableLayers.addLayer(layer);
});

更新:

好的,我只是在editableLayer中添加了选定的折线

.on('click', function(e){
   editableLayers.addLayer(e.layer);
  });

但是之后如何清除图层?以及保存后如何获取信息?谢谢大家

0 个答案:

没有答案
相关问题