|
@@ -351,7 +351,7 @@ export class MeasuringTool extends THREE.EventDispatcher{
|
|
|
measure.editStateChange(true)
|
|
|
|
|
|
let timer;
|
|
|
-
|
|
|
+
|
|
|
|
|
|
|
|
|
let endDragFun = (e) => {
|
|
@@ -414,7 +414,7 @@ export class MeasuringTool extends THREE.EventDispatcher{
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
+ let lastMarker = measure.markers[measure.markers.length-1]
|
|
|
|
|
|
if (/* !e.finish&& */ measure.markers.length > args.minMarkers) {
|
|
|
measure.removeMarker(measure.points.length - 1);
|
|
@@ -422,8 +422,12 @@ export class MeasuringTool extends THREE.EventDispatcher{
|
|
|
measure.markers[0].removeEventListener('mouseleave', mouseleave);
|
|
|
measure.markers[0].removeEventListener('click'/* 'mousedown' */,Exit)
|
|
|
|
|
|
- if(e.byClickMarker && measure.markers.length > args.minMarkers){//通过点击第一个marker而结束的话,会多一个marker
|
|
|
- measure.removeMarker(measure.points.length - 1);
|
|
|
+ if(e.byClickMarker && measure.markers.length > args.minMarkers ){//通过点击第一个marker而结束的话,会多一个marker。但点击marker后可能会因为和它坐标一致而没有添加成功,就不删,根据添加的时间来判断。
|
|
|
+ let delta = Date.now() - lastMarker.createTime
|
|
|
+ //console.log('delta',delta)
|
|
|
+ if(delta < 10){//刚生成的,说明点击后新增了一个marker
|
|
|
+ measure.removeMarker(measure.points.length - 1);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
measure.isNew = false
|