From 57e4d6cb8209d13dbc9265636b456ee61a3ff5be Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Tue, 03 Dec 2024 13:31:25 +0800
Subject: [PATCH] 风险源默认显示调整

---
 src/pages/map/components/scomponents/layersControl.vue |  105 +++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 83 insertions(+), 22 deletions(-)

diff --git a/src/pages/map/components/scomponents/layersControl.vue b/src/pages/map/components/scomponents/layersControl.vue
index ab32dbb..5adea68 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: 2024-12-02 22:20:32
+ * @LastEditTime: 2024-12-03 13:29:41
  * @FilePath: \bigScreen\src\pages\map\components\scomponents\layersControl.vue
  * @Description:
  *
@@ -109,23 +109,23 @@
     subType: '3Dtile',
     urlData: [
       {
-        url: VITE_APP_BASE + 'newMx/mx/tile_01/tileset.json',
+        url: VITE_APP_BASE + 'mx/tile_01/tileset.json',
         label: 'tile_01'
       },
       {
-        url: VITE_APP_BASE + 'newMx/mx/tile_02/tileset.json',
+        url: VITE_APP_BASE + 'mx/tile_02/tileset.json',
         label: 'tile_02'
       },
       {
-        url: VITE_APP_BASE + 'newMx/mx/tile_03/tileset.json',
+        url: VITE_APP_BASE + 'mx/tile_03/tileset.json',
         label: 'tile_03'
       },
       {
-        url: VITE_APP_BASE + 'newMx/mx/tile_04/tileset.json',
+        url: VITE_APP_BASE + 'mx/tile_04/tileset.json',
         label: 'tile_04'
       },
       {
-        url: VITE_APP_BASE + 'newMx/mx/tile_05/tileset.json',
+        url: VITE_APP_BASE + 'mx/tile_05/tileset.json',
         label: 'tile_05'
       },
     ],
@@ -550,6 +550,45 @@
           divIcon.on(DC.MouseEventType.CLICK, incident)
           addPopLayers[attrParams.name].addOverlay(divIcon)
         }
+      },
+      {
+        id: '4-9',
+        label: '暂定',
+        type: 'layer',
+        subType: 'labelPoint',
+        method: getRiskList,
+        params: {
+          riskLevel: 9,
+          size: 1000
+        },
+        showParams: 'category',
+        className: 'fxy-zd',
+        backgroundIcon: VITE_APP_BASE + 'img/mapicon/fxy-zd.png',
+        showPanel: false,
+        layerName: 'fxyZdLarger',
+        incident: (e) => {
+          const { attrParams } = e.overlay
+          // 删除
+          destroyPop()
+          addPopLayers[attrParams.name] = new DC.HtmlLayer(attrParams.name)
+          window.$viewer.addLayer(addPopLayers[attrParams.name])
+          let iconEl = `<div class="marsBlueGradientPnl"> 
+            <li>${attrParams.firmName || ''}</li>
+            <li>${attrParams.name || ''}</li>
+            <li>${attrParams.riskLevelName || ''}</li>
+            </div>`
+          let divIcon = new DC.DivIcon(
+            new DC.Position(attrParams.lng, attrParams.lat, attrParams.ele || 64),
+            `<div class="public-map-popup-three">
+                    ${iconEl}
+                  </div>`
+          )
+          let incident = () => {
+            destroyPop()
+          }
+          divIcon.on(DC.MouseEventType.CLICK, incident)
+          addPopLayers[attrParams.name].addOverlay(divIcon)
+        }
       }
     ]
   },
@@ -695,13 +734,32 @@
           addTileLayers[item.layerName] = []
           item.urlData.forEach((m, ind) => {
             addTileLayers[item.layerName][ind] = new DC.Tileset(m.url, {
-              maximumMemoryUsage: 1024,
-              maximumScreenSpaceError: 8,
-              skipLevels: 5,
+              // maximumMemoryUsage: 1024,
+              // maximumScreenSpaceError: 8,
+              // skipLevels: 5,
+              // skipLevelOfDetail: true,
+              // skipScreenSpaceErrorFactor: 128,
+              // progressiveResolutionHeightFraction: 0.5,
+              // baseScreenSpaceError: 1024
+
+
               skipLevelOfDetail: true,
+              baseScreenSpaceError: 1024,
+              maximumScreenSpaceError: 16, // 数值加大,能让最终成像变模糊
               skipScreenSpaceErrorFactor: 128,
-              progressiveResolutionHeightFraction: 0.5,
-              baseScreenSpaceError: 1024
+              skipLevels: 5,
+              immediatelyLoadDesiredLevelOfDetail: false,
+              loadSiblings: true, // 如果为true则不会在已加载完概况房屋后,自动从中心开始超清化房屋
+              cullWithChildrenBounds: true,
+              cullRequestsWhileMoving: true,
+              cullRequestsWhileMovingMultiplier: 10, // 值越小能够更快的剔除
+              preloadWhenHidden: true,
+              preferLeaves: true,
+              maximumMemoryUsage: 64, // 内存分配变小有利于倾斜摄影数据回收,提升性能体验
+              progressiveResolutionHeightFraction: 0.5, // 数值偏于0能够让初始加载变得模糊
+              dynamicScreenSpaceErrorDensity: 0.5, // 数值加大,能让周边加载变快
+              dynamicScreenSpaceErrorFactor: 1, // 不知道起了什么作用没,反正放着吧先
+              dynamicScreenSpaceError: true, // 根据测试,有了这个后,会在真正的全屏加载完之后才清晰化房屋
             })
             // tile.setHeight(-420)
             tileLayers.addOverlay(addTileLayers[item.layerName][ind])
@@ -946,6 +1004,8 @@
   EventBus.emit('restHandleDelChange', `4`)
   EventBus.emit('restHandleDelChange', `4-1`)
   EventBus.emit('restHandleDelChange', `4-2`)
+  EventBus.emit('restHandleDelChange', `4-9`)
+
   EventBus.emit('restHandleDelChange', `8`)
   destroyPop()
 }
@@ -965,13 +1025,13 @@
 // 销毁
 function destroyPop () {
   let arr = Object.keys(addPopLayers)
-  if(arr.length > 0){
+  if (arr.length > 0) {
     arr.forEach(i => {
-    addPopLayers[i] && window.$viewer && window.$viewer.removeLayer(addPopLayers[i])
-    addPopLayers[i] = null
-    delete addPopLayers[i]
-  })
-  addPopLayers = {}
+      addPopLayers[i] && window.$viewer && window.$viewer.removeLayer(addPopLayers[i])
+      addPopLayers[i] = null
+      delete addPopLayers[i]
+    })
+    addPopLayers = {}
   }
 }
 
@@ -979,14 +1039,15 @@
   let arr = Object.keys(addTileLayers)
   arr.forEach(i => {
     if (i == 'hgyq') {
-      tileLayers.removeOverlay(addTileLayers[i])
-      addTileLayers[i] = null
-      delete addTileLayers[i]
+      addTileLayers[i].forEach(t => {
+        tileLayers.removeOverlay(t)
+        t = null
+      })
     } else {
       addTileLayers[i] && window.$viewer && window.$viewer.removeLayer(addTileLayers[i])
-      addTileLayers[i] = null
-      delete addTileLayers[i]
     }
+    addTileLayers[i] = null
+    delete addTileLayers[i]
   })
   addTileLayers = null
 

--
Gitblit v1.9.3