【问题标题】:How to get compass direction如何获得指南针方向
【发布时间】:2010-09-22 20:36:33
【问题描述】:

我想在屏幕上显示手机所面对的方向。例如:

   0
   |- []
   |_
  South --- North

在上图中,手机会显示“北”。由于用户(头部为 0 的棍子)拿着手机(图中的 [])指向北方。

我找到了this example。我理解它在做什么,除了它似乎在计算偏航、俯仰、滚动和倾角。这些是什么,我将如何使用它们来简单地找到手机指向的方向?

此外,android documentation 提到了 X、Y 和 Z 轴,但我没有看到任何地方说明这些轴与手机的对应关系? Z是从手机底部到顶部吗?

【问题讨论】:

  • 我还注意到 GeomagneticField 类有 getX 和 getY 方法?我可以用那个代替吗?虽然它没有任何类型的 sensorChanged altert。我必须自己制作循环来轮询它吗?
  • 这篇文章可能对你有用。在屏幕上显示方向时,您需要注意有关屏幕方向的假设。 android-developers.blogspot.com/2010/09/…

标签: android compass-geolocation


【解决方案1】:

this 是轴(axiy?)的样子。

我找不到我使用的备忘单的链接,但它看起来有点像this

总而言之,您希望注册以侦听 Sensor.TYPE_ORIENTATION,从传入的值数组中获取 value[0],这应该会显示您的角度(我相信来自北方)。

来自 *android.com 的一些 example

【讨论】:

  • 谢谢。如果手机处于横向模式会怎样?
  • 根据这篇文章,google.com/support/forum/p/android/… 基本上是一个硬件指南针,所以它应该在横向模式下正常运行
  • 我只想指出 Sensor.TYPE_ORIENTATION 已被弃用,取而代之的是 SensorManager.getOrientation()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多