diff --git a/packages/screen/src/views/3DSituationalAwarenessRefactor/assets/images/事件icon.png b/packages/screen/src/views/3DSituationalAwarenessRefactor/assets/images/事件icon.png index 1b33697..1668f8b 100644 Binary files a/packages/screen/src/views/3DSituationalAwarenessRefactor/assets/images/事件icon.png and b/packages/screen/src/views/3DSituationalAwarenessRefactor/assets/images/事件icon.png differ diff --git a/packages/screen/src/views/3DSituationalAwarenessRefactor/composables/useMapMarkers.js b/packages/screen/src/views/3DSituationalAwarenessRefactor/composables/useMapMarkers.js index 2a6322f..c8d988b 100644 --- a/packages/screen/src/views/3DSituationalAwarenessRefactor/composables/useMapMarkers.js +++ b/packages/screen/src/views/3DSituationalAwarenessRefactor/composables/useMapMarkers.js @@ -1,4 +1,4 @@ -import { ref } from 'vue' +import { inject, ref } from 'vue' import * as Cesium from 'cesium' import { cesiumDataConfig } from '../config/cesiumData' import { collapseBoundaryData } from '../config/collapseBoundary' @@ -1043,18 +1043,21 @@ export function useMapMarkers() { * @param {number} duration 动画持续时间(秒) * @param {number} pixelJumpHeight 像素跳动高度 */ - const triggerJumpAnimation = (viewer, duration = 5, pixelJumpHeight = 30) => { + const triggerJumpAnimation = (viewer, duration = 5, pixelJumpHeight = 30, disasterData) => { console.log(`[useMapMarkers] 触发像素跳动动画,持续时间 ${duration} 秒,像素高度 ${pixelJumpHeight}`) if (!viewer) { console.warn('[useMapMarkers] triggerJumpAnimation: viewer 为空') return } + const currentDistance = disasterData.forcePreset.value.searchRadius; + + console.log('currentDistance', currentDistance) const allEntities = [ ...markerEntities.value, ...emergencyResourceEntities.value, ...reserveCenterEntities.value - ].filter(e => e.billboard && e.properties?.distance?.getValue() <= 50) + ].filter(e => e.billboard && e.properties?.distance?.getValue() <= currentDistance) console.log('allEntities', allEntities) diff --git a/packages/screen/src/views/3DSituationalAwarenessRefactor/index.vue b/packages/screen/src/views/3DSituationalAwarenessRefactor/index.vue index aa944d7..f937cdc 100644 --- a/packages/screen/src/views/3DSituationalAwarenessRefactor/index.vue +++ b/packages/screen/src/views/3DSituationalAwarenessRefactor/index.vue @@ -1130,7 +1130,7 @@ const flyToBestViewForMarkers = () => { const { camera } = mapStore.services(); // 获取当前搜索半径(公里) - const radiusKm = disasterData.forcePreset.value.searchRadius; + const radiusKm = disasterData.forcePreset.value.searchRadius + 20; // 加20km 保证能看到完整范围圈 const radiusMeters = radiusKm * 1000; // 范围圈中心点 @@ -1659,7 +1659,7 @@ provide("onDistanceChange", handleDistanceChange); // 提供 viewer 和动画方法 provide("cesiumViewer", cesiumViewer); provide("triggerJump", (duration = 5, height = 30) => { - triggerJumpAnimation(cesiumViewer.value, duration, height); + triggerJumpAnimation(cesiumViewer.value, duration, height, disasterData); });