这个东西网上很多博客都写了,我这也不做过多叙说,写了一下我的方法,本来想讲镜头移动做成csgo那样,直接用mouse_move来控制镜头移动,可惜效果不太好,所以还是放弃了。
1.禁用镜头移动旋转等
2.设置移动标志
3.添加鼠标监听
4.添加键盘监听
5.定义时间轴
// 自由镜头or漫游
freeden(){
var ellipsoid = viewer.scene.globe.ellipsoid;
scene.screenSpaceCameraController.enableRotate = false;
scene.screenSpaceCameraController.enableTranslate = false;
scene.screenSpaceCameraController.enableZoom = false;
scene.screenSpaceCameraController.enableTilt = false;
scene.screenSpaceCameraController.enableLook = false;
var startMousePosition;
var mousePosition;
var flags = {
looking : false,
moveForward : false,
moveBackward : false,
moveUp : false,
moveDown : false,
moveLeft : false,
moveRight : false
};
viewer.screenSpaceEventHandler.setInputAction(function(movement) {
flags.looking = true;
mousePosition = startMousePosition = Cesium.Cartesian3.clone(movement.position);
}, Cesium.ScreenSpaceEventType.LEFT_DOWN);
viewer.screenSpaceEventHandler.