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