Hoe*_*ers 1 leaflet leaflet-draw leaflet-geoman
我想让用户能够绘制一条线(这是一条只有 2 个点的折线)。
我启用绘图和监听vertexadded。当_rings标记计数等于 2 时,我禁用绘图。
出于以下几个原因,这种感觉是错误的:
_rings我是否缺少一种更简单的方法来做到这一点?
map.pm.enableDraw('Line', {
  snappable: true,
  snapDistance: 20,
});
map.on('pm:drawstart', (event: any) => {
  const { workingLayer } = event;
 
  workingLayer.on('pm:vertexadded', (e: any) => {
    if (workingLayer._rings[0].length >= 2) {
      map.pm.disableDraw('Line', {
        snappable: true,
        snapDistance: 20,
      });
    }
  });
});
layer.getLatLngs()代替变量_rings.map.pm.disableDraw(),完成形状map.pm.Draw.Line._finishShape()以将绘制的图层添加到地图中map.pm.enableGlobalEditMode()以启用所有图层的编辑,也可以使用以下命令启用所需的图层layer.pm.enable()hideMiddleMarkers: truemap.pm.setGlobalOptions({hideMiddleMarkers: true})
map.on('pm:drawstart', (event) => {
  const { workingLayer } = event;
  workingLayer.on('pm:vertexadded', (e) => {
    if (workingLayer.getLatLngs().length >= 2) {
       map.pm.Draw.Line._finishShape()
    }
  });
});
map.pm.enableDraw('Line');
https://jsfiddle.net/falkedesign/7sL02y53/
| 归档时间: | 
 | 
| 查看次数: | 1036 次 | 
| 最近记录: |