使用arcgis_js_api4.10绘制,绘制过程中怎么手动完成drawing

arcgis 3.x版本有Draw.finishDrawing()方法可以停止绘制,但4.10没有提供这个方法,试了complete或reset啥的都停止不了,把action的监听"vertex-add","cursor-update"移除了,地图又不能拖动了。求4.10的Draw手动结束/停止方法~~~~
 

部分代码:
export default function enableDrawing(view,callback,drawType,cancelDrawing) {
    let draw = new Draw({ view: view });
    //手动完成绘制---这里cancel不了
    if (cancelDrawing) {
        cancelDrawHandler(draw, view);
    } else {
        enableCreateGraphic(draw, view, callback, drawType);//开始绘制
    }
}
function cancelDrawHandler(draw, view) {
    lstntenerHandler();//停止"vertex-add"等监听
    draw.complete();//Draw的complete调用
}
  
function enableCreateGraphic(draw, view, callback, drawType) {
    //创建action
    action = draw.create(drawType);//, {mode: "click"});
    view.focus();
    lstn_vertex_add = action.on("vertex-add", onDrawing);
    lstn_cursor_update = action.on("cursor-update", onDrawing);
    lstn_vertex_remove = action.on("vertex-remove", onDrawing);
    lstn_draw_complete = action.on("draw-complete", onDrawing);
........
}
 
已邀请:

要回复问题请先登录注册