From 4efcfab28a9b7dba871f629e8d18a4677de883da Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Tue, 15 Apr 2025 20:42:06 +0800
Subject: [PATCH] feat:选择机巢清除原地图图层
---
src/hooks/useMapAggregation/useMapAggregation.js | 21 ++++++++++++++++++++-
1 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/src/hooks/useMapAggregation/useMapAggregation.js b/src/hooks/useMapAggregation/useMapAggregation.js
index ce5c1cd..d92d63c 100644
--- a/src/hooks/useMapAggregation/useMapAggregation.js
+++ b/src/hooks/useMapAggregation/useMapAggregation.js
@@ -59,12 +59,15 @@
const eventTimeType = computed(() => store.state.home.eventTimeType)
const eventTimeRang = computed(() => store.state.home.eventTimeRang)
+ const singleUavHome = computed(() => store.state.home.singleUavHome)
+
let needFly = true
const combinedValues = computed(() => ({
selectedAreaCode: selectedAreaCode.value,
eventTimeType: eventTimeType.value,
eventTimeRang: eventTimeRang.value,
+ singleUavHome: singleUavHome.value,
}))
let saveParams = { area_code: '', date_enum: 'CURRENT_WEEK' }
@@ -240,6 +243,11 @@
}
watch(combinedValues, async (newValue, oldValue) => {
+ if (newValue.singleUavHome?.device_sn) {
+ clearMapEntity()
+ return
+ }
+
if (newValue.eventTimeType) {
saveParams = { area_code: newValue.selectedAreaCode, date_enum: store.state.home.eventTimeParams }
}
@@ -461,9 +469,13 @@
let clickTargets = viewer.scene.drillPick(click.position).map(item => item.id)
if (!clickTargets.length) return
+ console.log(clickTargets, 11111)
+
let deviceAggregationFind = findTypeItem(clickTargets, (item) => item?.properties?.customData?._value?.data?.type === 'deviceAggregation')
let deviceFind = findTypeItem(clickTargets, (item) => item?.properties?.customData?._value?.data?.type === 'device')
- let eventFind = findTypeItem(clickTargets, (item) => item?.properties?.customData?._value?.data?.type === 'eventAggregation')
+ // "event"
+ let eventFind = findTypeItem(clickTargets, (item) => item?.properties?.customData?._value?.data?.type === 'event')
+ // let eventFind = findTypeItem(clickTargets, (item) => item?.properties?.customData?._value?.data?.type === 'eventAggregation')
currentEntity = deviceAggregationFind || deviceFind || eventFind
if (!currentEntity) return
@@ -519,6 +531,13 @@
handler = null
currentEntity = null
}
+
+ const clearMapEntity = () => {
+ if (!viewer) return
+ removeEntities()
+ removeLabel()
+ }
+
const init = () => {
viewer = window.$viewer
viewer.scene.postRender.removeEventListener(determineScaling)
--
Gitblit v1.9.3