From ddf60f1de7a1632e5673806838aa1ef74fd3886b Mon Sep 17 00:00:00 2001
From: guonan <guonan201020@163.com>
Date: 星期二, 06 五月 2025 14:20:33 +0800
Subject: [PATCH] 修改选中区域flyTo以及标红;避险场所面片未清除;存储方案模拟区域

---
 src/views/mnfz.vue |  205 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 200 insertions(+), 5 deletions(-)

diff --git a/src/views/mnfz.vue b/src/views/mnfz.vue
index 9b9c042..103a195 100644
--- a/src/views/mnfz.vue
+++ b/src/views/mnfz.vue
@@ -33,6 +33,8 @@
 import { createPoint, geomToGeoJSON } from "@/utils/map.js";
 import { loadAreaPolygon, clearAreaPolygon } from "@/utils/area";
 
+import colors from "@/assets/img/left/colors3.png";
+
 import danger from "@/assets/img/left/danger.png";
 import { checkedKeys } from "@/store/index";
 
@@ -191,6 +193,8 @@
         // 濡傛灉鏈� clear 鏂规硶锛岃皟鐢� clear
         entity.clear();
       } else if (entity && earthCtrl && earthCtrl.coreMap) {
+        // 娓呴櫎閬块櫓鐐圭豢鑹查潰鐗�
+        clearAreaPolygon();
         // 濡傛灉鏄� Cesium 瀹炰綋锛屼娇鐢� coreMap.entities.remove 绉婚櫎
         earthCtrl.coreMap.entities.remove(entity);
       }
@@ -199,14 +203,14 @@
   }
 }
 
-// 閬块櫓璺嚎
+///////////////////////////// 娴佸厜绾块伩闄╄矾绾�/////////////////////////////
 let pathLayer = null; // 瀛樺偍鍒涘缓鐨勫浘灞�
 function showLine() {
   // 鍒涘缓鏂板浘灞�
   pathLayer = earthCtrl.factory.createPathLayer({
     url: "/json/line.json",
-    color: "#0033FF",
-    width: 15.0,
+    color: "#008500",
+    width: 12.0,
     pointColor: "#FFFFFF",
     speed: 2,
     far: 50000,
@@ -226,10 +230,201 @@
   //   earthCtrl.coreMap.entities.remove(item);
   // }
   // });
-  // pathLayer = [];
+  pathLayer = null;
 }
+///////////////////////////// 娴佸厜绾块伩闄╄矾绾�/////////////////////////////
+///////////////////////////// 绠ご鐗堥伩闄╄矾绾�/////////////////////////////
+// let TrailLine = [];
+// async function showLine() {
+//   const position1 = [
+//     {
+//       x: -2172867.1941179745,
+//       y: 4339567.67446477,
+//       z: 4125575.4386990573,
+//     },
+//     {
+//       x: -2172867.1941179745,
+//       y: 4339567.67446477,
+//       z: 4125575.4386990573,
+//     },
+//     {
+//       x: -2172700.396781143,
+//       y: 4339454.037139385,
+//       z: 4125736.906847591,
+//     },
+//     {
+//       x: -2172744.4001612393,
+//       y: 4339361.421455601,
+//       z: 4125804.324253885,
+//     },
+//     {
+//       x: -2172824.3311673277,
+//       y: 4339274.56533081,
+//       z: 4125844.432999503,
+//     },
+//     {
+//       x: -2172822.298957661,
+//       y: 4339226.700024104,
+//       z: 4125896.451233209,
+//     },
+//     {
+//       x: -2172776.0573917977,
+//       y: 4339194.843872361,
+//       z: 4125947.9581145854,
+//     },
+//     {
+//       x: -2172755.2828807314,
+//       y: 4339149.410126468,
+//       z: 4125995.9286539108,
+//     },
+//     {
+//       x: -2172660.9533022284,
+//       y: 4339085.401362197,
+//       z: 4126101.3750262205,
+//     },
+//     {
+//       x: -2172613.460204307,
+//       y: 4339073.342332504,
+//       z: 4126134.479399525,
+//     },
+//     {
+//       x: -2172583.664140033,
+//       y: 4339085.533980615,
+//       z: 4126140.3272964833,
+//     },
+//     {
+//       x: -2172348.977405535,
+//       y: 4338967.122025027,
+//       z: 4126358.7532469626,
+//     },
+//     {
+//       x: -2172276.019363938,
+//       y: 4338943.999121099,
+//       z: 4126416.339696519,
+//     },
+//     {
+//       x: -2172178.064812976,
+//       y: 4338928.9482959965,
+//       z: 4126475.798078439,
+//     },
+//     {
+//       x: -2172171.5451145098,
+//       y: 4338941.186930828,
+//       z: 4126466.425301899,
+//     },
+//     {
+//       x: -2172177.9565195283,
+//       y: 4338940.424956708,
+//       z: 4126463.8688932694,
+//     },
+//   ];
+//   const position2 = [
+//     {
+//       x: -2171569.1995107993,
+//       y: 4338474.198855222,
+//       z: 4127198.938949332,
+//     },
+//     {
+//       x: -2171596.1458028457,
+//       y: 4338508.014766663,
+//       z: 4127160.0148374927,
+//     },
+//     {
+//       x: -2171663.8877153755,
+//       y: 4338521.115613981,
+//       z: 4127111.758040112,
+//     },
+//     {
+//       x: -2171815.8899659193,
+//       y: 4338612.264105235,
+//       z: 4126950.0428421027,
+//     },
+//     {
+//       x: -2171839.2819730053,
+//       y: 4338700.186548507,
+//       z: 4126845.712987762,
+//     },
+//     {
+//       x: -2171792.4015423204,
+//       y: 4338769.135301243,
+//       z: 4126802.7938519563,
+//     },
+//     {
+//       x: -2171943.7495626938,
+//       y: 4338851.9854133595,
+//       z: 4126649.5658632508,
+//     },
+//     {
+//       x: -2172026.1490882114,
+//       y: 4338896.137127666,
+//       z: 4126571.6284971433,
+//     },
+//     {
+//       x: -2172182.2854437083,
+//       y: 4338931.410179759,
+//       z: 4126471.0308961133,
+//     },
+//     {
+//       x: -2172175.3377184337,
+//       y: 4338941.338674108,
+//       z: 4126464.288707359,
+//     },
+//     {
+//       x: -2172175.3377184337,
+//       y: 4338941.338674108,
+//       z: 4126464.288707359,
+//     },
+//   ];
+//   // 瀹氫箟涓�涓嚱鏁版潵鍒涘缓杞ㄨ抗绾�
+//   function createTrailLine(positions, color = "#ffffff") {
+//     let LineInterpolation = earthCtrl.core.LineInterpolation(
+//       earthCtrl.coreMap,
+//       {
+//         positions: positions,
+//         num: 50,
+//         getHeight: true,
+//       }
+//     );
+
+//     let min = LineInterpolation.height;
+//     let max = min.map((item) => item + 35);
+
+//     console.log(min, max);
+
+//     let _TrailLine = earthCtrl.factory.createTrailLineWall(
+//       LineInterpolation.positions,
+//       {
+//         maximumHeights: max,
+//         minimumHeights: min,
+//         color: color, // 绾块鑹�
+//         url: colors, // 濡傛灉娌℃湁璁剧疆 colors锛岃鐢ㄧ函鑹叉垨鍒犻櫎姝よ
+//       }
+//     );
+//     TrailLine.push(_TrailLine);
+//   }
+
+//   // 鍒嗗埆鍒涘缓涓ゆ潯杞ㄨ抗绾�
+//   createTrailLine(position1, "#ff0000"); // 绾㈣壊杞ㄨ抗
+//   createTrailLine(position2, "#0000ff"); // 钃濊壊杞ㄨ抗
+// }
+// // 娓呴櫎杞ㄨ抗绾垮璞�
+// function clearTrailLine() {
+//   TrailLine.forEach((item, index) => {
+//     if (item && typeof item.deleteObject === "function") {
+//       item.deleteObject();
+//     } else if (item && typeof item.clear === "function") {
+//       item.clear();
+//     } else if (item && earthCtrl && earthCtrl.coreMap) {
+//       earthCtrl.coreMap.entities.remove(item);
+//     }
+//   });
+//   TrailLine = [];
+// }
+///////////////////////////// 绠ご鐗堥伩闄╄矾绾�/////////////////////////////
+
 function timeUpdate(percentage) {
-  if (percentage > 99) {
+  console.log(percentage, "ppppppppppp");
+  if (percentage > 99.9) {
     if (showDebuffDetail.value) {
       return;
     }

--
Gitblit v1.9.3