We need a source that will fix the camera when the cesium ‘viewer.camera.pitch’ value goes below a certain value.
Hi @11167
I hope this code can help you.
var viewer = new Cesium.Viewer("cesiumContainer", {
terrainProvider: await Cesium.createWorldTerrainAsync()
});
var pitchLimit = Cesium.Math.toRadians(-15); //set pitch limit as -15
viewer.scene.preRender.addEventListener(function () {
var camera = viewer.camera;
var pitch = camera.pitch;
if (pitch < pitchLimit) {
var clampedPitch = Cesium.Math.clamp(pitch, pitchLimit, Cesium.Math.PI_OVER_TWO);
camera.setView({
destination: camera.position,
orientation: {
heading: camera.heading,
pitch: clampedPitch,
roll: camera.roll,
},
});
}
});
viewer.entities.add({
position: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883, 100),
point: {
pixelSize: 10,
color: Cesium.Color.RED,
},
});
viewer.zoomTo(viewer.entities);