具體思路是,在每一幀渲染前,判斷相機高度是否符合條件,若不符合條件,則調整到合適的視點位置
看代碼:
// 限制相機高度
// 相機最低高度
const minimumHeight = 120;
// 在渲染階段前添加事件監聽器
viewer.scene.preRender.addEventListener(function () {
var eye = viewer.camera.positionCartographic;
// 判斷相機座標是否小於閾值,若小於閾值,則保持視點方位,修改相機高度
if (eye.height < minimumHeight) {
viewer.camera.setView({
destination: Cesium.Cartesian3.fromRadians(eye.longitude, eye.latitude, minimumHeight),
orientation: {
direction: viewer.camera.direction,
up: viewer.camera.up
}
});
}
});