相关链接:
http://mars3d.cn/editor-vue.html?key=ex_1_3_1&id=map/fun/openFlyAnimation
问题说明:
openFlyAnimation执行开场动画前的视角如何设置,目前 scene: { center: 决定的执行后的视角
在cameraController中设置maximumZoomDistance是调整最远视距,只能说可以让地图最远到那个地方,但是默认地球开始转动时,最远视距默认不是maximumZoomDistance
实现代码:
import * as mars3d from "mars3d"export const mapOptions = {scene: {center: { "lat": 37.530873, "lng": 102.784238, "alt": 50007057.2, "heading": 356.4, "pitch": -89.8 }}
}export let map // mars3d.Map三维地图对象/*** 初始化地图业务,生命周期钩子函数(必须)* 框架在地图初始化完成后自动调用该函数* @param {mars3d.Map} mapInstance 地图对象* @returns {void} 无*/
export function onMounted(mapInstance) {map = mapInstance // 记录mapsetTimeout(() => {startAnimation()}, 1000)
}/*** 释放当前地图业务的生命周期函数* @returns {void} 无*/
export function onUnmounted() {map = null
}export function startAnimation() {map.flyHome({ duration: 0 })// 开场动画map.openFlyAnimation({center: { "lat": 31.833795, "lng": 117.131291, "alt": 3152.6, "heading": 0, "pitch": -86.6 }// duration1:4,// easingFunction1: Cesium.EasingFunction.QUINTIC_IN_OUT,}).then(() => {// 动画播放完成后回调})
}export function stopAnimation() {map.camera.cancelFlight()
}