From 169037edc80afe294461ec1cd6b28f98a1fbe7ea Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Fri, 14 Feb 2025 17:45:51 +0800
Subject: [PATCH] 瑞昌图层加载相关调整

---
 src/pages/map/components/scomponents/layersControl.vue |  127 +++++++++++++++++++++++++++++------------
 1 files changed, 89 insertions(+), 38 deletions(-)

diff --git a/src/pages/map/components/scomponents/layersControl.vue b/src/pages/map/components/scomponents/layersControl.vue
index b2b2cb6..7dd30a4 100644
--- a/src/pages/map/components/scomponents/layersControl.vue
+++ b/src/pages/map/components/scomponents/layersControl.vue
@@ -2,7 +2,7 @@
  * @Author: shuishen 1109946754@qq.com
  * @Date: 2024-10-31 10:47:29
  * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2025-02-12 19:57:40
+ * @LastEditTime: 2025-02-14 17:45:37
  * @FilePath: \bigScreen\src\pages\map\components\scomponents\layersControl.vue
  * @Description:
  *
@@ -93,7 +93,7 @@
 
 const { VITE_APP_BASE } = import.meta.env
 // , '7', 
-let indexPoint = ref(['1', '5', '7'])
+let indexPoint = ref(['5', '7', '8'])
 
 const treeRef = ref(null)
 
@@ -110,47 +110,75 @@
   panoramaShow.value = false
 }
 
+const baseRcImages = new window.$Cesium.WebMapTileServiceImageryProvider({
+  url: '/arcgis117/rest/services/DTFW/rcgyyyx/MapServer/WMTS',
+  layer: 'DTFW_rcgyyyx',
+  style: 'default',
+  format: 'image/png',
+  tileMatrixSetID: 'default028mm',
+  tilingScheme: new window.$Cesium.GeographicTilingScheme(),
+  tileMatrixLabels: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19']
+})
+
 const data = [
   {
     id: '1',
     label: '园区倾斜摄影',
-    type: 'layer',
-    subType: '3Dtile',
-    urlData: [
+    children: [
       {
-        url: '/3Dtile/rcmx/tile_01/tileset.json',
-        label: 'tile_01'
+        parentId: '1',
+        id: '1-1',
+        label: '倾斜摄影1',
+        type: 'layer',
+        subType: '3Dtile',
+        urlData: [
+          {
+            url: '/3Dtile/rcmx/tile_04/tileset.json',
+            label: 'tile_04'
+          },
+          {
+            url: '/3Dtile/rcmx/tile_05/tileset.json',
+            label: 'tile_05'
+          },
+          {
+            url: '/3Dtile/rcmx/tile_07/tileset.json',
+            label: 'tile_07'
+          },
+          {
+            url: '/3Dtile/rcmx/tile_08/tileset.json',
+            label: 'tile_08'
+          },
+        ],
+        layerName: 'hgyq'
       },
+
       {
-        url: '/3Dtile/rcmx/tile_02/tileset.json',
-        label: 'tile_02'
-      },
-      {
-        url: '/3Dtile/rcmx/tile_03/tileset.json',
-        label: 'tile_03'
-      },
-      {
-        url: '/3Dtile/rcmx/tile_04/tileset.json',
-        label: 'tile_04'
-      },
-      {
-        url: '/3Dtile/rcmx/tile_05/tileset.json',
-        label: 'tile_05'
-      },
-      {
-        url: '/3Dtile/rcmx/tile_06/tileset.json',
-        label: 'tile_06'
-      },
-      {
-        url: '/3Dtile/rcmx/tile_07/tileset.json',
-        label: 'tile_07'
-      },
-      {
-        url: '/3Dtile/rcmx/tile_08/tileset.json',
-        label: 'tile_08'
+        parentId: '1',
+        id: '1-2',
+        label: '倾斜摄影2',
+        type: 'layer',
+        subType: '3Dtile',
+        urlData: [
+          {
+            url: '/3Dtile/rcmx/tile_01/tileset.json',
+            label: 'tile_01'
+          },
+          {
+            url: '/3Dtile/rcmx/tile_02/tileset.json',
+            label: 'tile_02'
+          },
+          {
+            url: '/3Dtile/rcmx/tile_03/tileset.json',
+            label: 'tile_03'
+          },
+          {
+            url: '/3Dtile/rcmx/tile_06/tileset.json',
+            label: 'tile_06'
+          },
+        ],
+        layerName: 'hgyqT'
       }
-    ],
-    layerName: 'hgyq'
+    ]
   },
 
   {
@@ -650,6 +678,15 @@
     }
   },
 
+  {
+    id: '8',
+    label: '瑞昌影像',
+    type: 'layer',
+    subType: 'baseMap',
+    layerName: 'baseMap',
+    source: baseRcImages,
+  },
+
   /* {
     id: '8',
     label: '地面全景分布',
@@ -765,7 +802,6 @@
               // progressiveResolutionHeightFraction: 0.5,
               // baseScreenSpaceError: 1024
 
-
               skipLevelOfDetail: true,
               baseScreenSpaceError: 1024,
               maximumScreenSpaceError: 16, // 数值加大,能让最终成像变模糊
@@ -778,7 +814,7 @@
               cullRequestsWhileMovingMultiplier: 10, // 值越小能够更快的剔除
               preloadWhenHidden: true,
               preferLeaves: true,
-              maximumMemoryUsage: 64, // 内存分配变小有利于倾斜摄影数据回收,提升性能体验
+              maximumMemoryUsage: 1024, // 内存分配变小有利于倾斜摄影数据回收,提升性能体验
               progressiveResolutionHeightFraction: 0.3, // 数值偏于0能够让初始加载变得模糊
               dynamicScreenSpaceErrorDensity: 0.5, // 数值加大,能让周边加载变快
               dynamicScreenSpaceErrorFactor: 1, // 不知道起了什么作用没,反正放着吧先
@@ -945,11 +981,20 @@
         } else {
           addTileLayers[item.layerName].show = true
         }
+      } else if (item.subType == 'baseMap') {
+        if (addTileLayers[item.layerName]) {
+          addTileLayers[item.layerName].show = true
+          return
+        }
+
+        addTileLayers[item.layerName] = window.$viewer?.imageryLayers.addImageryProvider(item.source)
       }
     } else {
       if (addTileLayers[item.layerName]) {
         if (item.subType == '3Dtile') {
           addTileLayers[item.layerName].forEach(m => m.show = false)
+        } else if (item.subType == 'baseMap') {
+          addTileLayers[item.layerName].show = false
         } else {
           addTileLayers[item.layerName].clear()
           window.$viewer && window.$viewer.removeLayer(addTileLayers[item.layerName])
@@ -1015,6 +1060,10 @@
   treeRef.value?.setCheckedKeys(checkIds.filter(i => i.indexOf(key) && i != parentId))
   handleCheckChange([selectData])
 }
+
+nextTick(() => {
+  restHandleCheckChange('1-1')
+})
 
 // 飞到园区范围
 const flyToyqfw = () => {
@@ -1151,11 +1200,13 @@
 onUnmounted(() => {
   let arr = Object.keys(addTileLayers)
   arr.forEach(i => {
-    if (i == 'hgyq') {
+    if (i == 'hgyq' || i == 'hgyqT') {
       addTileLayers[i].forEach(t => {
         tileLayers.removeOverlay(t)
         t = null
       })
+    } else if (i == 'baseMap') {
+      window.$viewer?.imageryLayers.remove(addTileLayers[i])
     } else {
       addTileLayers[i] && window.$viewer && window.$viewer.removeLayer(addTileLayers[i])
     }

--
Gitblit v1.9.3