当我使用ctrl + mouseLeft转动地图时,我想知道Cesium的旋转角度。就像我在这张图片上所做的:
我尝试了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”。有什么想法吗?我想得到地图的标题。
非常感谢!