修改为小于当前选择的范围的实体才会跳动
This commit is contained in:
parent
d05077e9ed
commit
60faaca7cb
Binary file not shown.
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 9.4 KiB |
@ -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)
|
||||
|
||||
|
||||
@ -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);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user