From b67f46b4a768b4cd72d4e463c5dffefe977ddeb7 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Mon, 02 Dec 2024 22:04:27 +0800
Subject: [PATCH] 应急空间及全局图层去除废水处理站、污水池
---
src/pages/map/components/scomponents/layersControl.vue | 239 +++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 149 insertions(+), 90 deletions(-)
diff --git a/src/pages/map/components/scomponents/layersControl.vue b/src/pages/map/components/scomponents/layersControl.vue
index 8857e66..a999140 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-01 21:45:13
+ * @LastEditTime: 2024-12-02 22:04:17
* @FilePath: \bigScreen\src\pages\map\components\scomponents\layersControl.vue
* @Description:
*
@@ -79,6 +79,8 @@
import EventBus from 'utils/bus'
import { usePointStore } from 'store/usepoint'
const pointStore = usePointStore()
+import { useRouter } from 'vue-router'
+const router = useRouter()
const { VITE_APP_BASE } = import.meta.env
// , '7',
@@ -106,7 +108,26 @@
type: 'layer',
subType: '3Dtile',
urlData: [
-
+ {
+ url: VITE_APP_BASE + 'newMx/mx/tile_01/tileset.json',
+ label: 'tile_01'
+ },
+ {
+ url: VITE_APP_BASE + 'newMx/mx/tile_02/tileset.json',
+ label: 'tile_02'
+ },
+ {
+ url: VITE_APP_BASE + 'newMx/mx/tile_03/tileset.json',
+ label: 'tile_03'
+ },
+ {
+ url: VITE_APP_BASE + 'newMx/mx/tile_04/tileset.json',
+ label: 'tile_04'
+ },
+ {
+ url: VITE_APP_BASE + 'newMx/mx/tile_05/tileset.json',
+ label: 'tile_05'
+ },
],
layerName: 'hgyq'
},
@@ -148,17 +169,16 @@
const { attrParams } = e.overlay
// 删除
destroy()
- if (!attrParams.imageUrl) {
- return
- }
+ // if (!attrParams.imageUrl) {
+ // return
+ // }
addPupoLayers[attrParams.name] = new DC.HtmlLayer(attrParams.name)
window.$viewer.addLayer(addPupoLayers[attrParams.name])
let iconEl = `<div class="marsBlueGradientPnl">
<div>${attrParams.fullName}</div>
- <img src="${attrParams.imageUrl}" />
</div>`
let divIcon = new DC.DivIcon(
- new DC.Position(attrParams.lng, attrParams.lat, 64),
+ new DC.Position(attrParams.lng, attrParams.lat, attrParams.ele || 64),
`<div class="public-map-popup-two">
${iconEl}
</div>`
@@ -198,7 +218,7 @@
<img src="${attrParams.imageUrl}" width="160" height="160" />
</div>`
let divIcon = new DC.DivIcon(
- new DC.Position(attrParams.lng, attrParams.lat, 64),
+ new DC.Position(attrParams.lng, attrParams.lat, attrParams.ele || 64),
`<div class="public-map-popup-two">
${iconEl}
</div>`
@@ -217,16 +237,6 @@
children: [
// 给水管网、污水管网、燃气管网、雨水管网
{
- id: '3-3-1',
- label: '给水管网',
- type: 'layer',
- subType: 'geojsonPipe',
- layerName: 'gsgw',
- source: gsgw,
- color: DC.Color.BLUE.withAlpha(0.9),
- height: 65,
- },
- {
id: '3-3-2',
label: '污水管网',
type: 'layer',
@@ -234,17 +244,7 @@
layerName: 'wsgw',
source: wsgw,
color: DC.Color.DARKBLUE.withAlpha(0.9),
- height: 68,
- },
- {
- id: '3-3-3',
- label: '燃气管网',
- type: 'layer',
- subType: 'geojsonPipe',
- layerName: 'rqgw',
- source: rqgw,
- color: DC.Color.RED.withAlpha(0.9),
- height: 71,
+ height: 60.2,
},
{
id: '3-3-4',
@@ -254,7 +254,27 @@
layerName: 'ysgw',
source: ysgw,
color: DC.Color.CYAN.withAlpha(0.9),
- height: 75,
+ height: 60,
+ },
+ {
+ id: '3-3-1',
+ label: '给水管网',
+ type: 'layer',
+ subType: 'geojsonPipe',
+ layerName: 'gsgw',
+ source: gsgw,
+ color: DC.Color.BLUE.withAlpha(0.9),
+ height: 60.4,
+ },
+ {
+ id: '3-3-3',
+ label: '燃气管网',
+ type: 'layer',
+ subType: 'geojsonPipe',
+ layerName: 'rqgw',
+ source: rqgw,
+ color: DC.Color.RED.withAlpha(0.9),
+ height: 60.6,
},
]
},
@@ -284,7 +304,7 @@
<img src="${attrParams.imageUrl}" width="160" height="160" />
</div>`
let divIcon = new DC.DivIcon(
- new DC.Position(attrParams.lng, attrParams.lat, 64),
+ new DC.Position(attrParams.lng, attrParams.lat, attrParams.ele || 64),
`<div class="public-map-popup-two">
${iconEl}
</div>`
@@ -325,7 +345,7 @@
<img src="${attrParams.imageUrl}" width="160" height="160" />
</div>`
let divIcon = new DC.DivIcon(
- new DC.Position(attrParams.lng, attrParams.lat, 64),
+ new DC.Position(attrParams.lng, attrParams.lat, attrParams.ele || 64),
`<div class="public-map-popup-two">
${iconEl}
</div>`
@@ -366,7 +386,7 @@
<img src="${attrParams.imageUrl}" width="160" height="160" />
</div>`
let divIcon = new DC.DivIcon(
- new DC.Position(attrParams.lng, attrParams.lat, 64),
+ new DC.Position(attrParams.lng, attrParams.lat, attrParams.ele || 64),
`<div class="public-map-popup-two">
${iconEl}
</div>`
@@ -394,22 +414,22 @@
showPanel: false,
layerName: 'gouqu'
},
- {
- id: '3-9',
- label: '废水处理站',
- type: 'layer',
- subType: 'labelPoint',
- method: getList,
- params: {
- type: 9,
- size: 1000
- // name: '吉水县绿源污水处理厂',
- },
- backgroundIcon: VITE_APP_BASE + 'img/mapicon/wsclc.png',
- className: 'xfs-box',
- showPanel: false,
- layerName: 'fsclz'
- },
+ // {
+ // id: '3-9',
+ // label: '废水处理站',
+ // type: 'layer',
+ // subType: 'labelPoint',
+ // method: getList,
+ // params: {
+ // type: 9,
+ // size: 1000
+ // // name: '吉水县绿源污水处理厂',
+ // },
+ // backgroundIcon: VITE_APP_BASE + 'img/mapicon/wsclc.png',
+ // className: 'xfs-box',
+ // showPanel: false,
+ // layerName: 'fsclz'
+ // },
{
id: '3-10',
label: '排水口',
@@ -425,21 +445,21 @@
showPanel: false,
layerName: 'psk'
},
- {
- id: '3-11',
- label: '污水池',
- type: 'layer',
- subType: 'labelPoint',
- method: getList,
- params: {
- type: 11,
- size: 1000
- },
- backgroundIcon: VITE_APP_BASE + 'img/mapicon/wsc.png',
- className: 'xfs-box',
- showPanel: false,
- layerName: 'wsc'
- }
+ // {
+ // id: '3-11',
+ // label: '污水池',
+ // type: 'layer',
+ // subType: 'labelPoint',
+ // method: getList,
+ // params: {
+ // type: 11,
+ // size: 1000
+ // },
+ // backgroundIcon: VITE_APP_BASE + 'img/mapicon/wsc.png',
+ // className: 'xfs-box',
+ // showPanel: false,
+ // layerName: 'wsc'
+ // }
]
},
@@ -459,7 +479,7 @@
},
showParams: 'category',
className: 'fxy-ordinary',
- backgroundIcon: VITE_APP_BASE + 'img/mapicon/fxy.png',
+ backgroundIcon: VITE_APP_BASE + 'img/mapicon/fxy-yb.png',
showPanel: false,
layerName: 'fxyOrdinary',
incident: (e) => {
@@ -469,11 +489,10 @@
addPupoLayers[attrParams.name] = new DC.HtmlLayer(attrParams.name)
window.$viewer.addLayer(addPupoLayers[attrParams.name])
let iconEl = `<div class="marsBlueGradientPnl">
- <li>${attrParams.firmName || ''}</li>
- <li>${attrParams.riskLevelName || ''}</li>
+ <li>${attrParams.name || ''}</li>
</div>`
let divIcon = new DC.DivIcon(
- new DC.Position(attrParams.lng, attrParams.lat, 64),
+ new DC.Position(attrParams.lng, attrParams.lat, attrParams.ele || 64),
`<div class="public-map-popup-three">
${iconEl}
</div>`
@@ -497,7 +516,7 @@
},
showParams: 'category',
className: 'fxy-larger',
- backgroundIcon: VITE_APP_BASE + 'img/mapicon/fxy.png',
+ backgroundIcon: VITE_APP_BASE + 'img/mapicon/fxy-jd.png',
showPanel: false,
layerName: 'fxyLarger',
incident: (e) => {
@@ -506,12 +525,11 @@
destroy()
addPupoLayers[attrParams.name] = new DC.HtmlLayer(attrParams.name)
window.$viewer.addLayer(addPupoLayers[attrParams.name])
- let iconEl = `<div class="marsBlueGradientPnl">
- <li>${attrParams.firmName || ''}</li>
- <li>${attrParams.riskLevelName || ''}</li>
+ let iconEl = `<div class="marsBlueGradientPnl">
+ <li>${attrParams.name || ''}</li>
</div>`
let divIcon = new DC.DivIcon(
- new DC.Position(attrParams.lng, attrParams.lat, 64),
+ new DC.Position(attrParams.lng, attrParams.lat, attrParams.ele || 64),
`<div class="public-map-popup-three">
${iconEl}
</div>`
@@ -666,7 +684,7 @@
// })
addTileLayers[item.layerName] = []
item.urlData.forEach((m, ind) => {
- let tile = new DC.Tileset(m.url, {
+ addTileLayers[item.layerName][ind] = new DC.Tileset(m.url, {
maximumMemoryUsage: 1024,
maximumScreenSpaceError: 8,
skipLevels: 5,
@@ -675,13 +693,12 @@
progressiveResolutionHeightFraction: 0.5,
baseScreenSpaceError: 1024
})
- tile.setSplitDirection(1)
+ addTileLayers[item.layerName][ind].setSplitDirection(1)
// tile.setHeight(-420)
// tile.setSplitDirection(-1)
- window.$viewer.sceneSplit.addTileset(tile)
- tileLayers.addOverlay(tile)
+ window.$viewer.sceneSplit.addTileset(addTileLayers[item.layerName][ind])
+ tileLayers.addOverlay(addTileLayers[item.layerName][ind])
window.$viewer.sceneSplit.enable = false
- addTileLayers[item.layerName][ind] = tile
})
} else {
addTileLayers[item.layerName].forEach(m => m.show = true)
@@ -713,7 +730,7 @@
}
let divIcon = new DC.DivIcon(
- new DC.Position(i.lng, i.lat, 64),
+ new DC.Position(i.lng, i.lat, i.ele || 64),
`<div class="public-map-popup ${item.className || ''}">
${iconEl}
</div>`
@@ -775,7 +792,7 @@
item.source.features.forEach(i => {
let polylineVolume = new DC.PolylineVolume(
i.geometry.coordinates.map(d => [d[0], d[1], item.height].join(',')).join(';'),
- computeCircle(2)
+ computeCircle(1.6)
)
polylineVolume.setStyle({
@@ -896,13 +913,49 @@
onMounted(() => {
setTimeout(() => {
- handleCheckChange(data.filter(i => indexPoint.value.includes(i.id)))
+ // handleCheckChange(data.filter(i => indexPoint.value.includes(i.id)))
}, 3000)
})
// const sharedData = computed(() => pointStore.sharedData);
// watch(sharedData, (newValue) => {
// });
+
+// 关闭所有选中的,除了倾斜,园区分布,空中全景
+const closeAll = () => {
+ EventBus.emit('restHandleDelChange', `2`)
+ EventBus.emit('restHandleDelChange', `3`)
+ EventBus.emit('restHandleDelChange', `3-1`)
+ EventBus.emit('restHandleDelChange', `3-2`)
+ EventBus.emit('restHandleDelChange', `3-3`)
+ EventBus.emit('restHandleDelChange', `3-3-1`)
+ EventBus.emit('restHandleDelChange', `3-3-2`)
+ EventBus.emit('restHandleDelChange', `3-3-3`)
+ EventBus.emit('restHandleDelChange', `3-3-4`)
+ EventBus.emit('restHandleDelChange', `3-4`)
+ EventBus.emit('restHandleDelChange', `3-5`)
+ EventBus.emit('restHandleDelChange', `3-6`)
+ EventBus.emit('restHandleDelChange', `3-7`)
+ EventBus.emit('restHandleDelChange', `3-8`)
+ EventBus.emit('restHandleDelChange', `3-9`)
+ EventBus.emit('restHandleDelChange', `4`)
+ EventBus.emit('restHandleDelChange', `4-1`)
+ EventBus.emit('restHandleDelChange', `4-2`)
+ EventBus.emit('restHandleDelChange', `8`)
+ destroy()
+}
+
+// const sharedData = computed(() => pointStore.sharedData);
+// watch(sharedData, (newValue) => {
+// });
+// 监听当前路由路径的变化
+watch(() => router.currentRoute.value.path,
+ (newPath, oldPath) => {
+ console.log(`Current path changed from ${oldPath} to ${newPath}`)
+ closeAll()
+ },
+ { immediate: true }
+)
// 销毁
function destroy () {
@@ -916,19 +969,25 @@
}
onUnmounted(() => {
+ let arr = Object.keys(addTileLayers)
+ arr.forEach(i => {
+ if (i == 'hgyq') {
+ tileLayers.removeOverlay(addTileLayers[i])
+ addTileLayers[i] = null
+ delete addTileLayers[i]
+ } else {
+ addTileLayers[i] && window.$viewer && window.$viewer.removeLayer(addTileLayers[i])
+ addTileLayers[i] = null
+ delete addTileLayers[i]
+ }
+ })
+ addTileLayers = null
+
if (tileLayers) {
- tileLayers.clear()
+ tileLayers.remove()
window.$viewer && window.$viewer.removeLayer(tileLayers)
tileLayers = null
}
-
- let arr = Object.keys(addTileLayers)
- arr.filter(i => i != 'hgyq').forEach(i => {
- addTileLayers[i] && window.$viewer && window.$viewer.removeLayer(addTileLayers[i])
- addTileLayers[i] = null
- delete addTileLayers[i]
- })
- addTileLayers = null
// 弹窗销毁
destroy()
addPupoLayers = null
--
Gitblit v1.9.3