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