修改为小于当前选择的范围的实体才会跳动
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 * as Cesium from 'cesium'
|
||||||
import { cesiumDataConfig } from '../config/cesiumData'
|
import { cesiumDataConfig } from '../config/cesiumData'
|
||||||
import { collapseBoundaryData } from '../config/collapseBoundary'
|
import { collapseBoundaryData } from '../config/collapseBoundary'
|
||||||
@ -1043,18 +1043,21 @@ export function useMapMarkers() {
|
|||||||
* @param {number} duration 动画持续时间(秒)
|
* @param {number} duration 动画持续时间(秒)
|
||||||
* @param {number} pixelJumpHeight 像素跳动高度
|
* @param {number} pixelJumpHeight 像素跳动高度
|
||||||
*/
|
*/
|
||||||
const triggerJumpAnimation = (viewer, duration = 5, pixelJumpHeight = 30) => {
|
const triggerJumpAnimation = (viewer, duration = 5, pixelJumpHeight = 30, disasterData) => {
|
||||||
console.log(`[useMapMarkers] 触发像素跳动动画,持续时间 ${duration} 秒,像素高度 ${pixelJumpHeight}`)
|
console.log(`[useMapMarkers] 触发像素跳动动画,持续时间 ${duration} 秒,像素高度 ${pixelJumpHeight}`)
|
||||||
if (!viewer) {
|
if (!viewer) {
|
||||||
console.warn('[useMapMarkers] triggerJumpAnimation: viewer 为空')
|
console.warn('[useMapMarkers] triggerJumpAnimation: viewer 为空')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
const currentDistance = disasterData.forcePreset.value.searchRadius;
|
||||||
|
|
||||||
|
console.log('currentDistance', currentDistance)
|
||||||
|
|
||||||
const allEntities = [
|
const allEntities = [
|
||||||
...markerEntities.value,
|
...markerEntities.value,
|
||||||
...emergencyResourceEntities.value,
|
...emergencyResourceEntities.value,
|
||||||
...reserveCenterEntities.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)
|
console.log('allEntities', allEntities)
|
||||||
|
|
||||||
|
|||||||
@ -1130,7 +1130,7 @@ const flyToBestViewForMarkers = () => {
|
|||||||
const { camera } = mapStore.services();
|
const { camera } = mapStore.services();
|
||||||
|
|
||||||
// 获取当前搜索半径(公里)
|
// 获取当前搜索半径(公里)
|
||||||
const radiusKm = disasterData.forcePreset.value.searchRadius;
|
const radiusKm = disasterData.forcePreset.value.searchRadius + 20; // 加20km 保证能看到完整范围圈
|
||||||
const radiusMeters = radiusKm * 1000;
|
const radiusMeters = radiusKm * 1000;
|
||||||
|
|
||||||
// 范围圈中心点
|
// 范围圈中心点
|
||||||
@ -1659,7 +1659,7 @@ provide("onDistanceChange", handleDistanceChange);
|
|||||||
// 提供 viewer 和动画方法
|
// 提供 viewer 和动画方法
|
||||||
provide("cesiumViewer", cesiumViewer);
|
provide("cesiumViewer", cesiumViewer);
|
||||||
provide("triggerJump", (duration = 5, height = 30) => {
|
provide("triggerJump", (duration = 5, height = 30) => {
|
||||||
triggerJumpAnimation(cesiumViewer.value, duration, height);
|
triggerJumpAnimation(cesiumViewer.value, duration, height, disasterData);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user