添加显示隐藏状态控制

This commit is contained in:
wzy-warehouse
2026-04-14 08:59:05 +08:00
parent 61725b8b1e
commit 2a3256fa17
14 changed files with 267 additions and 59 deletions
+8 -2
View File
@@ -5,6 +5,7 @@
<script lang="ts" setup>
import { useAdministrativeDivision } from '@/hooks/map/useAdministrativeDivision';
import { useStatusStore } from '@/stores/useStatusStore';
import { CesiumUtilsSingleton } from '@/utils/cesium/CesiumUtils';
import { Color } from 'cesium';
import { onMounted } from 'vue';
@@ -13,7 +14,7 @@
const { areas, areasId, areasColor, areaTransparency, labelTransparency } =
useAdministrativeDivision();
onMounted(() => {
onMounted(async () => {
// 构建批量添加配置数组
const layerConfigs = areasId.map((id, index) => ({
layerId: id,
@@ -39,7 +40,12 @@
},
}));
CesiumUtilsSingleton.batchAddGeoJsonLayers(layerConfigs);
await CesiumUtilsSingleton.batchAddGeoJsonLayers(layerConfigs);
// 根据状态显示隐藏行政区划
if (!useStatusStore().getShowAdministrativeDivision()) {
CesiumUtilsSingleton.batchHideGeoJsonLayers(areasId);
}
});
</script>
+4 -4
View File
@@ -2,14 +2,14 @@
<div class="map_container" id="map-container"></div>
<!-- 行政区划 -->
<AdministrativeDivision v-if="useViewerStore().getViewerLoadingCompleted()" />
<AdministrativeDivision v-if="useStatusStore().getAppLoadingCompleted()" />
</template>
<script lang="ts" setup>
import { onBeforeMount, onMounted } from 'vue';
import AdministrativeDivision from './AdministrativeDivision.vue';
import { useViewerStore } from '@/stores/useViewerStore';
import { useStatusStore } from '@/stores/useStatusStore';
import { useLoadingInformationStore } from '@/stores/useLoadingInformation';
import { CesiumUtilsSingleton } from '@/utils/cesium/CesiumUtils';
@@ -21,7 +21,7 @@
onBeforeMount(() => {
// 初始化为false
useViewerStore().setViewerLoadingCompleted(false);
useStatusStore().setAppLoadingCompleted(false);
// 重置状态
useLoadingInformationStore().resetStatue();
@@ -42,7 +42,7 @@
});
// 设置状态
useViewerStore().setViewerLoadingCompleted(true);
useStatusStore().setAppLoadingCompleted(true);
// 注册全局点击监听器
useMap().registerAndClickOnTheListener();