From 79f9b20e2661a560604e78a8e277eb5775747443 Mon Sep 17 00:00:00 2001
From: guonan <guonan201020@163.com>
Date: 星期二, 08 七月 2025 10:25:20 +0800
Subject: [PATCH] 提交

---
 src/components/tools/LayerTree.vue |   55 +++++++++++++++++++++++++++----------------------------
 1 files changed, 27 insertions(+), 28 deletions(-)

diff --git a/src/components/tools/LayerTree.vue b/src/components/tools/LayerTree.vue
index 425de2b..d2cf58a 100644
--- a/src/components/tools/LayerTree.vue
+++ b/src/components/tools/LayerTree.vue
@@ -14,7 +14,12 @@
 
 <script setup>
 import { ref, onMounted, watch, nextTick, onUnmounted, watchEffect } from "vue";
-import { createPoint, removeEntities, addTileset } from "@/utils/map";
+import {
+  createPoint,
+  removeEntities,
+  addTileset,
+  clearAllPoints,
+} from "@/utils/map";
 import { deviceDictList, getDictName } from "@/constant/dict.js";
 import { useRoute } from "vue-router";
 import {
@@ -76,7 +81,7 @@
   try {
     TerrainLayer = await earthCtrl.factory.createTerrainLayer({
       sourceType: "ctb",
-      url: "http://106.120.22.26:9103/gisserver/ctsserver/sunhugoudem84",
+      url: "http://106.120.22.26:9103/gisserver/ctsserver/sunhugoudem",
       requestVertexNormals: true,
     });
     treeMap.set("鍦板舰鏁版嵁", TerrainLayer);
@@ -238,9 +243,7 @@
   const list = treeMap.get(layerName);
   if (list && Array.isArray(list)) {
     list.forEach((entity) => {
-      if (viewer.entities.contains(entity)) {
-        viewer.entities.remove(entity);
-      }
+      clearAllPoints();
     });
   }
   treeMap.delete(layerName);
@@ -253,17 +256,14 @@
   if (simStore.DeviceShowSwitch) {
     const deviceList = simStore.devices
       .filter((item) => item.deviceName?.includes("瀛欒儭娌�"))
-      .map((item) => {
-        const entity = createPoint({
-          ...item,
-          type: getDictName(deviceDictList, item.dictDeviceType),
-          name: item.deviceName.split("瀛欒儭娌�")[1],
-          id: item.deviceId,
-          className: "device",
-          showLabel: true,
-        });
-        entity.show = true;
-        return entity;
+      .map(async (item) => {
+        const entity = viewer.entities.getById(item.deviceId);
+        item.type = getDictName(deviceDictList, item.dictDeviceType);
+        item.name = item.deviceName.split("瀛欒儭娌�")[1];
+        item.id = item.deviceId;
+        item.className = "device";
+        item.showLabel = true;
+        await createPoint(item);
       });
 
     if (deviceList.length) {
@@ -279,18 +279,16 @@
   if (simStore.DangerShowSwitch) {
     const dangerPoints = simStore.DangerPoint.filter((item) =>
       item.position?.includes("瀛欒儭娌�")
-    ).map((item) => {
-      const entity = createPoint({
-        id: item.hdId,
-        name: item.hdName,
-        latitude: item.lat,
-        longitude: item.lon,
-        showBillboard: true,
-        type: item.disasterType,
-        className: "district",
-      });
-      entity.show = true;
-      return entity;
+    ).map(async (item) => {
+      const entity = viewer.entities.getById(item.hdId);
+      item.id = item.hdId;
+      item.name = item.hdName;
+      item.latitude = item.lat;
+      item.longitude = item.lon;
+      item.showBillboard = true;
+      item.type = item.disasterType;
+      item.className = "district";
+      await createPoint(item);
     });
 
     if (dangerPoints.length) {
@@ -325,6 +323,7 @@
  */
 function addTetrahedron() {
   getSafePoint().then((res) => {
+    console.log(res,'resresresres')
     const geoJsonData = convertToGeoJson(res.data); // 杞崲涓� GeoJSON
     // 鍔犺浇 GeoJSON 鏁版嵁鍒板湴鍥�
     loadAreaPolygon(geoJsonData, true).then((entities) => {

--
Gitblit v1.9.3