显示隐藏行政区划、左侧按钮、控制显示

This commit is contained in:
wzy-warehouse
2026-04-23 09:13:02 +08:00
parent 16d049d082
commit fd4678da51
3 changed files with 20 additions and 2 deletions
+14 -1
View File
@@ -6,10 +6,11 @@
<script lang="ts" setup> <script lang="ts" setup>
import { useAdministrativeDivision } from '@/hooks/map/useAdministrativeDivision'; import { useAdministrativeDivision } from '@/hooks/map/useAdministrativeDivision';
import { useLoadingResourceStore } from '@/stores/useLoadingResourceStore'; import { useLoadingResourceStore } from '@/stores/useLoadingResourceStore';
import { useStatusStore } from '@/stores/useStatusStore';
import { LoadingResource } from '@/types/common/LoadingResourceType'; import { LoadingResource } from '@/types/common/LoadingResourceType';
import { CesiumUtilsSingleton } from '@/utils/cesium/CesiumUtils'; import { CesiumUtilsSingleton } from '@/utils/cesium/CesiumUtils';
import { Color } from 'cesium'; import { Color } from 'cesium';
import { onMounted } from 'vue'; import { onMounted, watch } from 'vue';
// 配置参数 // 配置参数
const { areas, areasId, areasColor, areaTransparency, labelTransparency } = const { areas, areasId, areasColor, areaTransparency, labelTransparency } =
@@ -49,6 +50,18 @@
areasId areasId
); );
}); });
// 监听显示状态改变
watch(
() => useStatusStore().mapLayers.showAdministrativeDivision.show,
(newValue: boolean) => {
if (newValue) {
CesiumUtilsSingleton.batchShowGeoJsonLayers(areasId);
} else {
CesiumUtilsSingleton.batchHideGeoJsonLayers(areasId);
}
}
);
</script> </script>
<style scoped></style> <style scoped></style>
@@ -1,5 +1,8 @@
<template> <template>
<div class="control-show-panel-box"> <div
class="control-show-panel-box"
v-show="useStatusStore().uiComponents.controlPanel.show"
>
<div class="title-box"> <div class="title-box">
<header>控制显示</header> <header>控制显示</header>
</div> </div>
@@ -20,6 +23,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { useLoadingInformationStore } from '@/stores/useLoadingInformation.ts'; import { useLoadingInformationStore } from '@/stores/useLoadingInformation.ts';
import { useStatusStore } from '@/stores/useStatusStore';
defineProps<{ defineProps<{
constrolShowList: { constrolShowList: {
@@ -1,5 +1,6 @@
<template> <template>
<div <div
v-show="useStatusStore().uiComponents.leftButton.show"
class="left-button-box" class="left-button-box"
:style="{ :style="{
left: `${useStatusStore().uiComponents.disasterChainPointShow.show ? 575 : 100}px`, left: `${useStatusStore().uiComponents.disasterChainPointShow.show ? 575 : 100}px`,