Cesium 将相机飞到某个位置但保持相机高度

Cesium Fly Camera to Location but Maintain Camera Height

我想使用 flyTo() 并提供经纬度坐标,但要将相机保持在与当前表面相同的高度/缩放/距离。

我尝试在调用 flyTo 时使用 camera.position.z,但这似乎在每次调用 flyTo() 时都会越来越大。

有人知道如何实现吗?

你试过设置maximumHeight吗?

var viewer = new Cesium.Viewer('cesiumContainer');
var scene = viewer.scene;    
var height = 500000;

viewer.camera.setView({
    destination: Cesium.Cartesian3.fromDegrees(50.0, 5.0, height)
});

setTimeout(function() {
    viewer.camera.flyTo({
        destination: Cesium.Cartesian3.fromDegrees(-117.16, 32.71, height),
        maximumHeight: height
    });
}, 2000);

http://cesiumjs.org/Cesium/Apps/Sandcastle/?src=Hello%20World.html&label=Showcases&gist=674299ee1a1bffffdc3a042018aadd2a

我找到了解决问题的方法。

您需要通过以下方式获取相机的制图位置:

var currentPosition = viewer.camera.positionCartographic;

viewer.camera.setView({
    destination: Cesium.Cartesian3.fromDegrees(50.0, 5.0, currentPosition.height)
});