From d95ca015de7641aba381e1c61de9dbdada085d4e Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Wed, 29 Oct 2025 14:02:56 +0800
Subject: [PATCH] feat:清除编辑地图数据

---
 src/views/layerManagement/components/rightEdit.vue |    5 ++++-
 src/views/layerManagement/index.vue                |   49 ++++++++++++++++++++++++++++---------------------
 2 files changed, 32 insertions(+), 22 deletions(-)

diff --git a/src/views/layerManagement/components/rightEdit.vue b/src/views/layerManagement/components/rightEdit.vue
index c89c623..5fbd5ac 100644
--- a/src/views/layerManagement/components/rightEdit.vue
+++ b/src/views/layerManagement/components/rightEdit.vue
@@ -58,6 +58,7 @@
 </template>
 
 <script setup>
+const emit = defineEmits([ 'callParentMethod']);
 const layerParams = inject('layerParams');
 const formData = ref({
   folder_id: '',
@@ -68,7 +69,7 @@
   altitude: '',
   control_start_time: '',
   control_end_time: '',
-  geo_data: '{"type":"LineString","coordinates":[[113.30,23.15],[113.31,23.16],[113.32,23.15]]}',
+  geo_data: '',
 });
 const detailData = ref(null)
 detailData.value = layerParams.value.editDetailData
@@ -80,10 +81,12 @@
 const cancelHandel = () => {
   layerParams.value.addNest = false;
   layerParams.value.editNest = false;
+   emit('callParentMethod');
 };
 const submitHandle = () => {
   layerParams.value.addNest = false;
   layerParams.value.editNest = false;
+   emit('callParentMethod');
 };
 </script>
 
diff --git a/src/views/layerManagement/index.vue b/src/views/layerManagement/index.vue
index f1faebd..0d02526 100644
--- a/src/views/layerManagement/index.vue
+++ b/src/views/layerManagement/index.vue
@@ -16,7 +16,10 @@
           @update:deitData="handleEdit"
           :activeName="activeName"
         ></leftList>
-        <rightEdit v-if="layerParams.addNest || layerParams.editNest"></rightEdit>
+        <rightEdit
+          v-if="layerParams.addNest || layerParams.editNest"
+          @callParentMethod="parentMethod"
+        ></rightEdit>
       </div>
     </div>
   </basic-container>
@@ -35,7 +38,7 @@
 const activeName = ref('电子围栏');
 const activeType = ref('0');
 // 当前面位置信息
-let curPolygonPosition = []
+let curPolygonPosition = [];
 const tabData = ref([
   {
     name: '电子围栏',
@@ -52,10 +55,10 @@
 ]);
 const layerParams = ref({
   addNest: false,
-  editNest:false,
-  editDetailData:null,
-  total_count:0,
-  total_area:0,
+  editNest: false,
+  editDetailData: null,
+  total_count: 0,
+  total_area: 0,
 });
 provide('layerParams', layerParams);
 const handleClick = tab => {
@@ -97,11 +100,15 @@
 // 编辑区域
 const handleEdit = val => {
   console.log('编辑数据', val);
-  layerParams.value.editDetailData = val
+  layerParams.value.editDetailData = val;
   drawPolygonExample.editThePatch(true);
   const positions = parseGeoDataToPositions(val.geo_data, val.altitude);
   if (positions.length < 3) return; // 少于3个点无法构成多边形
   drawPolygonExample.initPolygon(viewer, positions, true);
+};
+// 清除地图数据
+const parentMethod = () => {
+drawPolygonExample.delPolygon()
 };
 // 点击显示区域
 const handleCoverDataUpdate = data => {
@@ -231,23 +238,23 @@
 
 // 编辑/绘制
 const loadPlanarRoute = async (positions = null, save = false) => {
-  if (positions){
+  if (positions) {
     curPolygonPosition = positions.map(item => {
-			let cartographic = Cesium.Cartographic.fromCartesian(item)
-			let lng = Cesium.Math.toDegrees(cartographic.longitude) // 经度
-			let lat = Cesium.Math.toDegrees(cartographic.latitude) // 纬度
-			let height = Cesium.Math.toDegrees(cartographic.height) //高度
-			return {
-				lng: _.round(lng, 6),
-				lat: _.round(lat, 6),
-				height: _.round(height, 6),
-			}
-		})
+      let cartographic = Cesium.Cartographic.fromCartesian(item);
+      let lng = Cesium.Math.toDegrees(cartographic.longitude); // 经度
+      let lat = Cesium.Math.toDegrees(cartographic.latitude); // 纬度
+      let height = Cesium.Math.toDegrees(cartographic.height); //高度
+      return {
+        lng: _.round(lng, 6),
+        lat: _.round(lat, 6),
+        height: _.round(height, 6),
+      };
+    });
   }
-  let polygon = curPolygonPosition.map(item => [item?.lng, item?.lat])
-	polygon.push([curPolygonPosition[0]?.lng, curPolygonPosition[0]?.lat])
+  let polygon = curPolygonPosition.map(item => [item?.lng, item?.lat]);
+  polygon.push([curPolygonPosition[0]?.lng, curPolygonPosition[0]?.lat]);
   console.log('绘制的多边形顶点坐标(Cartesian3):', polygon);
-  
+
   console.log('转换后的经纬度坐标:', curPolygonPosition);
 };
 const throttleLoadPlanarRoute = throttle(loadPlanarRoute, 200);

--
Gitblit v1.9.3