jinx 2 роки тому
батько
коміт
b67dd4bd53

Різницю між файлами не показано, бо вона завелика
+ 1 - 1
server/test/a0k4xu045_202305311600080410/attach/sceneStore


+ 8 - 0
src/graphic/Controls/UIControl.js

@@ -362,6 +362,14 @@ export default class UIControl {
   deleteVector(vectorId, geoType) {
     switch (geoType) {
       case VectorType.Point:
+        let point = dataService.getPoint(vectorId);
+        let parent = point.getParent();
+        for(let key in parent){
+          if(Settings.baseLineId == key){
+            this.layer.initLocation(); 
+            break;
+          }
+        }
         pointService.deletePoint(vectorId);
         break;
       case VectorType.Line:

+ 13 - 9
src/graphic/ListenLayer.js

@@ -633,7 +633,6 @@ export default class ListenLayer {
       const rightEdge = dataService.getRoadEdge(road.rightEdgeId);
       const roadLine = roadService.getMidLine(road);
       let join = mathUtil.getJoinLinePoint(position, roadLine);
-
       let leftLine = mathUtil.createLine1(leftEdge.start, leftEdge.end);
       let leftJoin = mathUtil.getJoinLinePoint(position, leftLine);
       let rightLine = mathUtil.createLine1(rightEdge.start, rightEdge.end);
@@ -654,15 +653,20 @@ export default class ListenLayer {
         }
 
         if (roadInfo.roadId) {
-          const join1 = mathUtil.getJoinLinePoint(position, leftLine);
-          const join2 = mathUtil.getJoinLinePoint(position, rightLine);
-          if (
-            mathUtil.getDistance(join1, position) >
-            mathUtil.getDistance(join2, position)
-          ) {
-            roadInfo.dir = "right";
-          } else {
+          // const join1 = mathUtil.getJoinLinePoint(position, leftLine);
+          // const join2 = mathUtil.getJoinLinePoint(position, rightLine);
+          // if (
+          //   mathUtil.getDistance(join1, position) >
+          //   mathUtil.getDistance(join2, position)
+          // ) {
+          //   roadInfo.dir = "right";
+          // } else {
+          //   roadInfo.dir = "left";
+          // }
+          if(mathUtil.isClockwise([startPoint,endPoint,position])){
             roadInfo.dir = "left";
+          }else{
+            roadInfo.dir = "right";
           }
         }
       }