1.66版本后已经自带修复代码,不过感觉和以下修复方式效果相当;
//禁止相机进入地下(地形穿透) 1.66版本后已经自带修复方法
function Lockpitch() {
viewer.clock.onTick.addEventListener(function () {
if (viewer.camera.pitch > 0) {
viewer.scene.screenSpaceCameraController.enableTilt = false;
}
});
var mousePosition, startMousePosition;
var handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas);
handler.setInputAction(function (movement) {
mousePosition = startMousePosition = Cesium.Cartesian3.clone(movement.position);
handler.setInputAction(function (movement) {
mousePosition = movement.endPosition;
var y = mousePosition.y - startMousePosition.y;
if (y > 0) {
viewer.scene.screenSpaceCameraController.enableTilt = true;
}
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
}, Cesium.ScreenSpaceEventType.RIGHT_DOWN);
}