在铯中获得旋转
Get rotation in Cesium
我想知道当我使用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”。有什么想法吗?我想获取地图的标题。
非常感谢!
此值可从 viewer.camera.heading
获得,以弧度表示。您可以使用相机上的 twistLeft and twistRight 功能像这样扭曲相机。
我想知道当我使用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”。有什么想法吗?我想获取地图的标题。
非常感谢!
此值可从 viewer.camera.heading
获得,以弧度表示。您可以使用相机上的 twistLeft and twistRight 功能像这样扭曲相机。