For zoom IN/Out without moving the view:
I disabled the default zoom, listen to zoom wheel and increase/decrease the camera fov for getting the same affect of zoom.
viewer.scene.screenSpaceCameraController.enableZoom = false;
handler.setInputAction( (zoomScalar) => {
zoomScalar = zoomScalar / 250;
changedFov -= zoomScalar;
console.log( this.changedFov);
viewer.scene.camera.frustum.fov = Cesium.Math.toRadians( this.changedFov);
}, Cesium.ScreenSpaceEventType.WHEEL);
for moving whitout move the camera origin i disabeld the moving by dragigng
by:
viewer.scene.screenSpaceCameraController.enableRotation = false;
viewer.scene.screenSpaceCameraController.enableTranslate = false;
viewer.scene.screenSpaceCameraController.enableTilt = false;
and create dragigng by the listeners LEFT_DOWN and MOUSE_MOVE
and change the the end position the oreantation with the function :
viewer.camera.lookRight(delta.x);
viewer.camera.lookDown(delta.y);