Cesium 可以通过 camera.rotate 方法实现旋转,通过控制旋转度数来实现一定的动画效果
地球旋转
//开启 tick
viewer.clock.shouldAnimate = true;
//每次旋转的弧度 越小越慢
var angle = Cesium.Math.toRadians(Math.PI*1.0)
// 旋转次数 用来控制停止
var rotate_num = 0
function onTickCallback() {
viewer.scene.camera.rotate(Cesium.Cartesian3.UNIT_Z,angle);
//以下用来控制 停止
rotate_num++
// 110 次旋转一周
if (rotate_num === 110) {
//结束旋转
viewer.clock.onTick.removeEventListener(onTickCallback);
//可以再接定位动画
viewer.camera.flyTo({......})
}
}
// 利用时钟进行监听
viewer.clock.onTick.addEventListener(onTickCallback);
通过 Cesium.Camera.DEFAULT_VIEW_RECTANGLE 可设置默认起始位置