铯飞相机到位但保持相机高度

时间:2017-04-12 15:30:39

标签: javascript cesium

我想使用flyTo()并提供一个lat长坐标,但保持相机与当前表面的高度/变焦/距离相同。

我试图在我的flyTo调用中使用camera.position.z,但这似乎会在每次调用flyTo()时进一步放大。

有谁知道如何实现这个目标?

2 个答案:

答案 0 :(得分:0)

您是否尝试过设置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

答案 1 :(得分:0)

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

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

var currentPosition = viewer.camera.positionCartographic;

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