在Cesium中获得轮换

时间:2015-10-23 12:09:27

标签: cesium

当我使用ctrl + mouseLeft转动地图时,我想知道Cesium的旋转角度。就像我在这张图片上所做的: enter image description here

我尝试了viewer.camera.roll,但似乎不对。它始终为零。

有关如何在2D和3D中获得该值的任何提示?我也想设置这个值。

提前致谢!

编辑: 我已经使用了建议的解决方案,现在我得到了不同的值(以弧度表示)。它适用于2D和3D地图。

EDIT2:如何将旋转设置为特定角度

    setRotation(angle: number): void {
        viewer.camera.setView({
            heading: (angle / (180 / Math.PI)) // east, default value is 0.0 (north)
        })
    };

基于此doc

编辑3: 我正在使用以下代码来获取地图的当前标题:

public getAngle(): number {
    return viewer.camera.heading;
}

当我调用此函数并且我的地图未旋转时,如图所示,我得到“6.283185307179586”弧度的结果。我认为它应该是零,因为它根本不旋转。如果我用鼠标移动地图(平移)并再次调用getAngle函数,它会给出不同的结果,如果我向北移动,则为“1.4612025367455317e-8”。有什么想法吗?我想得到地图的标题。

非常感谢!

enter image description here

1 个答案:

答案 0 :(得分:2)

此值可从{{1}}获得,并以弧度表示。您可以使用相机上的twistLeft and twistRight功能将相机扭曲。