摘要:graphicLayer.startDraw({开启连续绘制isContinued之后,无法获取连续标绘的坐标数据的解决方案
问题前景:
graphicLayer.startDraw({开启连续绘制isContinued之后,.then()方法只走一次,无法获取连续标绘的所有坐标数据。
如果是结束绘制的话 有graphicLayer.endDraw()方法,但是在连续绘制开启之后,then()只走一次,无法记录连续绘制的次数。
相关链接:
http://mars3d.cn/editor-vue.html?key=ex_7_14_0&id=layer-graphic/draw/draw
http://mars3d.cn/api/GraphicLayer.html?classFilter=graphicLayer#endDraw
相关代码:
问题解决方案参考:
isContinued 是否连续标绘,连续标绘状态下无法编辑已有对象,且不支持获取startDraw方法的返回值(是内部自动调用的,如果要获取请drawCreated事件中获取或外部手动进行startDraw)。
graphicLayer.on(mars3d.EventType.drawCreated, function (e) {console.log("创建完成", e)graphicLayer.stopDraw()graphicLayer.startDraw(mars3d.Util.clone(e.graphic.options)) // 连续标绘时,可以代替isContinued})