Leaflet.draw 发出事件以停止绘图
Leaflet.draw emit event to stop drawing
使用 leaflet-draw,当我用多边形绘制时,我需要在矩形的第二个点固定后结束绘图。在
中监听 'drawvertex' 事件两次
mymap.on(L.Draw.Event.DRAWVERTEX, function(e){
console.log("draw 1st vertex--")
// console.log(e)
mymap.on(L.Draw.Event.DRAWVERTEX, function(e){
console.log("draw 2nd vertex, now need to be closed! ---", e)
let tmp = e.layers;
// mymap.emit(L.Draw.Event.DRAWSTOP, function (e){
// console.log("draw stopped...")
// })
// mymap.emit('draw:drawstop', function (e){
// console.log("draw stopped...")
// })
// tmp.completeShape()
// drawnItems.completeShape()
})
// if(e.layerType == "polyne"){
// console.log(" e la retta..")
// }
})
我尝试使用 emit 和 completeShape 函数,但没有用,我尝试使用与“完成”按钮相同的方法(当您单击多边形进行绘制时),但我没有找到源上的方法。这是我的代码框 https://codesandbox.io/s/romantic-jepsen-7esnz?file=/index.html
您可以自动触发第二次点击来完成形状
mymap.on(L.Draw.Event.DRAWVERTEX, function (e) {
const layerIds = Object.keys(e.layers._layers);
if (layerIds.length > 1) {
const secondVertex = e.layers._layers[layerIds[1]]._icon;
requestAnimationFrame(() => secondVertex.click());
}
});
使用 leaflet-draw,当我用多边形绘制时,我需要在矩形的第二个点固定后结束绘图。在
中监听 'drawvertex' 事件两次mymap.on(L.Draw.Event.DRAWVERTEX, function(e){
console.log("draw 1st vertex--")
// console.log(e)
mymap.on(L.Draw.Event.DRAWVERTEX, function(e){
console.log("draw 2nd vertex, now need to be closed! ---", e)
let tmp = e.layers;
// mymap.emit(L.Draw.Event.DRAWSTOP, function (e){
// console.log("draw stopped...")
// })
// mymap.emit('draw:drawstop', function (e){
// console.log("draw stopped...")
// })
// tmp.completeShape()
// drawnItems.completeShape()
})
// if(e.layerType == "polyne"){
// console.log(" e la retta..")
// }
})
我尝试使用 emit 和 completeShape 函数,但没有用,我尝试使用与“完成”按钮相同的方法(当您单击多边形进行绘制时),但我没有找到源上的方法。这是我的代码框 https://codesandbox.io/s/romantic-jepsen-7esnz?file=/index.html
您可以自动触发第二次点击来完成形状
mymap.on(L.Draw.Event.DRAWVERTEX, function (e) {
const layerIds = Object.keys(e.layers._layers);
if (layerIds.length > 1) {
const secondVertex = e.layers._layers[layerIds[1]]._icon;
requestAnimationFrame(() => secondVertex.click());
}
});