如何像谷歌天空地图一样使用传感器值?

发布于 2024-11-02 15:57:34 字数 370 浏览 0 评论 0原文

我正在尝试复制 Google Skymap 如何利用传感器输入。我目前使用 getOrientation 和加速度计值来确定向上和旋转。当手机垂直于地平线时,此功能可以正常工作,但当手机指向地面时,此功能就会开始失效。例如,当平放在桌子上时,旋转手机时使用的读数(accel_x)不会影响此输入,但当垂直放置时,这些值很有用,我可以根据这些值旋转显示器。

(我目前显示一个基本的地平线四边形)

我认为我需要在这里使用多个值,但我很不知道如何做到这一点。

有什么指点吗?

另外,是否有 Display.getRotation 的 2.1 替代方案?

提前致谢

注意:我只对手机的滚动(航空意义上的)感兴趣,无论手机的握持角度如何。

I am trying to replicate how Google Skymap makes use of sensor inputs. I currently use getOrientation and the accelerometer values to determine up and rotation. This works fine whilst the phone is held perpindicular to the horizon, but starts to fail when pointing the phone towards the ground. for example when laid flat on a table, the readings used (accel_x) when spinning the phone does not affect this input, but when held perpindicular the values are useful and I am able to rotate the display based on the values.

(I currently display a basic horizon quad)

I am thinking that I need to make use of more than one value here but am quite at a loss of how to do it.

Any pointers?

Also, is there a 2.1 alternative to Display.getRotation?

Thanks in advance

Note: I am only interested in the roll (in the aviation sense) of the phone, regardless of the pitch in which it is held.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文