Browse Source

添加事故照片相关绘制

bill 2 years ago
parent
commit
cc125c2456
3 changed files with 25 additions and 13 deletions
  1. 8 0
      src/graphic/CanvasStyle/focus.js
  2. 5 7
      src/graphic/Renderer/Draw.js
  3. 12 6
      src/graphic/Renderer/Render.js

+ 8 - 0
src/graphic/CanvasStyle/focus.js

@@ -6,6 +6,13 @@ const Road = {
   strokeStyle: "#3290FF",
 };
 
+const Magnifier = {
+  strokeStyle: "#3290FF",
+  lineWidth: 1,
+  fillStyle: "rgba(0,0,0,0)",
+  radius: 10,
+}
+
 const CurveRoad = {
   ...def.CurveRoad,
   ...Road,
@@ -58,5 +65,6 @@ export default {
   ControlPoint,
   CurveRoad,
   RoadEdge,
+  Magnifier,
   CurveRoadEdge,
 };

+ 5 - 7
src/graphic/Renderer/Draw.js

@@ -391,22 +391,20 @@ export default class Draw {
   }
 
   drawMagnifier(vector) {
-    console.error(123)
     const ctx = this.context
     this.drawPoint({
+      ...vector,
       ...vector.position,
       radius: Style.Magnifier.radius,
-      geoType: vector.geoType,
     })
-    const pt = vector.position
-    const target = vector.popPosition
+    const pt = coordinate.getScreenXY(vector.position)
+    const target = coordinate.getScreenXY(vector.popPosition)
     const style = help.setVectorStyle(ctx, vector)
     const offset = style.radius / 2
-    console.error(pt, target, pt, style.radius)
-    const targetPts = [
+    const targetPts = style === Style.Focus.Magnifier ? [
       mathUtil.translate(pt, target, pt, style.radius),
       target
-    ]
+    ] : null
 
     ctx.save();
     ctx.beginPath()

+ 12 - 6
src/graphic/Renderer/Render.js

@@ -34,20 +34,25 @@ export default class Render {
         break;
       case VectorType.Text:
         draw.drawText(vector, styleType, flag);
-        return;
+        break;
       case VectorType.Circle:
         draw.drawCircle(vector);
+        break
       case VectorType.BackgroundImg:
         draw.drawBackGroundImg();
+        break
+      case VectorType.Magnifier:
+        draw.drawMagnifier(vector)
+        break;
     }
   }
 
   //绘制交互的元素
   drawElement(vector) {
+    console.log(vector)
     if (draw.context == null) {
       return;
     }
-    console.log(vector)
     switch (vector.geoType) {
       case VectorType.Point:
         draw.drawPoint(vector);
@@ -61,9 +66,6 @@ export default class Render {
       case VectorType.Road:
         draw.drawRoad(vector, true);
         break;
-      case VectorType.Magnifier:
-        draw.drawMagnifier(vector)
-        break;
     }
   }
 
@@ -94,7 +96,7 @@ export default class Render {
   }
 
   autoRedraw() {
-    console.log("重绘");
+    // console.log("重绘");
     draw.clear();
     if (dataService.getGridDisplay()) {
       const grid = dataService.getGrid();
@@ -144,6 +146,10 @@ export default class Render {
     for (let key in texts) {
       this.drawGeometry(texts[key]);
     }
+    const magnifiers = dataService.getMagnifiers();
+    for (let magnifiersKey in magnifiers) {
+      this.drawGeometry(magnifiers[magnifiersKey])
+    }
 
     //this.drawGeometry(dataService.getImg());
     this.redrawElements();