如何在获得加速度计测量的同时获得方位角!方向与加速度计

时间:2011-05-05 00:40:43

标签: android compass-geolocation android-sensors

我正在做这个像计步器计数步骤一样的应用程序,但我想让它显示每一步的方向。

我正在做的是注册两个事件监听器而不是每个onsensorchanged事件我正在拾取sensor.TYPE_ORIENTATION的值以获得方位角,以及{{1}我在哪里看到是否给出了一个步骤。

此时我正确地得到了值,但是我想在步数完成时仅达到方位角的峰值!我该怎么做?

我认为它将在sensor.TYPE_ACCELEROMETER方法内完成,但是当激活加速计传感器并计算步数时,我不知道如何调用方向传感器。< / p>

查看代码内容将是这样的: 注册两个听众后,OnSensorChangedACCELEROMETER

ORIENTATION

希望有人能在此澄清我。

1 个答案:

答案 0 :(得分:2)

嘿,如果你想要方位角,你可以使用 ACCELEROMETER MAGNETOMETER 传感器获得它。首先获取加速度计数据和磁力计数据。接下来使用 SensorManager.getRotationMatrix(Rotation_data,Inclination_data,acc_data,mag_data)功能。你必须提供 acc_data mag_data 作为输入,然后输出 Rotation_data Inclination_data 。最初将它们作为空数组传递。获得 Rotation_data 后,使用 SensorManager.getOrientation(Rotation_data,angles)角度是您作为输出获得的数组。最初也将它作为空数组。在函数调用之后,您获得 angles [0] 作为方位角,角度[1] 是音高,角度[3] 是滚动。使用的所有数组都是包含3个元素的单维数组。