From 02409bfbe15f22fc3b5dccadabfd860a660a49d9 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Sat, 11 Oct 2025 10:37:14 +0800
Subject: [PATCH] feat: 名称修改

---
 src/views/gridManagement/gridManagement.vue |   95 +++++++++++++++++++++++++----------------------
 1 files changed, 51 insertions(+), 44 deletions(-)

diff --git a/src/views/gridManagement/gridManagement.vue b/src/views/gridManagement/gridManagement.vue
index fbe3f7a..546e854 100644
--- a/src/views/gridManagement/gridManagement.vue
+++ b/src/views/gridManagement/gridManagement.vue
@@ -11,7 +11,7 @@
          <div>
           <el-form-item>
             <el-button type="primary" @click="getList">搜索</el-button>
-            <el-button @click="cancelSearch">取消</el-button>
+            <el-button @click="cancelSearch">清空</el-button>
           </el-form-item>
          </div>
         </div>
@@ -398,7 +398,7 @@
   viewer.entities.removeAll()
   const { longitude, latitude } = cartesian3Convert(viewer.scene.pickPosition(movement.position), viewer)
   let result = await getLnglatAltitude(longitude, latitude, viewer)
-  let height = result.height + 60
+  let height = result.height + 2
   const point = { longitude, latitude, height }
   pointList.value.push(point)
   ShowTwoPoints()
@@ -410,23 +410,25 @@
     const position = Cesium.Cartesian3.fromDegrees(
       Number(item.longitude),
       Number(item.latitude),
-      Number(item.height)
+      Number(item.height),
     )
     viewer.entities.add({
       id: `point-${index}`,
       position: position,
-      billboard: {
-        image: new Cesium.ConstantProperty(newStartPoint),
-        width: 40,
-				height: 40,
+      point: {
+        pixelSize: 10,
+        color: Cesium.Color.fromCssColorString('#FFFFFF'),
+        clampToGround: true,
+        heightReference: Cesium.HeightReference.NONE,
       },
     })
-    viewer?.entities.add({
-				id: 'placement-' + index,
-				position: position,
-				polyline: getPolyLine(viewer, { value: pointList.value }, index),
-			})
+    // viewer?.entities.add({
+		// 		id: 'placement-' + index,
+		// 		position: position,
+		// 		polyline: getPolyLine(viewer, { value: pointList.value }, index),
+		// 	})
   })
+  if (pointList.value.length < 2) return
   const position1 = Cesium.Cartesian3.fromDegrees(
       Number(pointList.value[0].longitude),
       Number(pointList.value[0].latitude),
@@ -437,40 +439,45 @@
       Number(pointList.value[1].latitude),
       Number(pointList.value[1].height)
     )
-    // 获取两点在屏幕上的位置
-    // const screenPos1 = Cesium.SceneTransforms?.wgs84ToWindowCoordinates?.(viewer.scene, position1) 
-    // || viewer.scene.cartesianToCanvasCoordinates(position1);
-    // const screenPos2 = Cesium.SceneTransforms?.wgs84ToWindowCoordinates?.(viewer.scene, position2) 
-    // || viewer.scene.cartesianToCanvasCoordinates(position2);
 
-    // // // 生成屏幕矩形
-    // const boundingRect = new Cesium.BoundingRectangle(
-    //   Math.min(screenPos1.x, screenPos2.x),
-    //   Math.min(screenPos1.y, screenPos2.y),
-    //   Math.abs(screenPos1.x - screenPos2.x),
-    //   Math.abs(screenPos1.y - screenPos2.y)
-    // );
-    // const center = Cesium.Cartesian3.midpoint(screenPos1, screenPos2, new Cesium.Cartesian3());
-    // const angle = Cesium.Math.PI_OVER_FOUR; // 45度
+    console.log(position1, position2)
 
-    // viewer.entities.add({
-    //   position: center,
-    //   rectangle: {
-    //     coordinates: boundingRect,
-    //     material: Cesium.Color.BLUE.withAlpha(0.5),
-    //     rotation: angle // 弧度制旋转
-    //   }
-    // });
-  viewer.entities.add({
-    id: `line`,
-    polyline: {
-      width: 2,
-      eyeOffset: new Cesium.Cartesian3(0, 0, -6),
-      material: arrowLineMaterialProperty,
-      clampToGround: false,
-      positions: [position1, position2],
-    },
-  })
+    const carto1 = Cesium.Cartographic.fromCartesian(position1);
+    const carto2 = Cesium.Cartographic.fromCartesian(position2);
+
+    const lon1 = Cesium.Math.toDegrees(carto1.longitude);
+    const lat1 = Cesium.Math.toDegrees(carto1.latitude);
+    const lon2 = Cesium.Math.toDegrees(carto2.longitude);
+    const lat2 = Cesium.Math.toDegrees(carto2.latitude);
+
+    const west = Math.min(lon1, lon2);
+    const east = Math.max(lon1, lon2);
+    const south = Math.min(lat1, lat2);
+    const north = Math.max(lat1, lat2);
+
+    viewer.entities.add({
+      rectangle: {
+        // disableDepthTestDistance: Number.POSITIVE_INFINITY,
+        coordinates: Cesium.Rectangle.fromDegrees(west, south, east, north),
+        material: Cesium.Color.RED.withAlpha(0.5),
+        outline: true,
+        outlineColor: Cesium.Color.RED,
+        outlineWidth: 2,
+        height: pointList.value[1].height,
+        extrudedHeight: pointList.value[1].height,
+        heightReference: Cesium.HeightReference.NONE,
+      }
+  });
+  // viewer.entities.add({
+  //   id: `line`,
+  //   polyline: {
+  //     width: 2,
+  //     eyeOffset: new Cesium.Cartesian3(0, 0, -6),
+  //     material: arrowLineMaterialProperty,
+  //     clampToGround: false,
+  //     positions: [position1, position2],
+  //   },
+  // })
 }
 
 // 禁用浏览器默认行为处理

--
Gitblit v1.9.3