gpt4 book ai didi

android - 如何使用 SensorEventListener 确定手机相对于磁北的方向

转载 作者:行者123 更新时间:2023-11-29 21:40:04 26 4
gpt4 key购买 nike

我正在尝试编写一个实现 SensorEventListener 的类来确定手机摄像头朝向 (Galaxy S3) 的方向,以磁北以东的度数表示。以下是我使用的传感器:

  public void start()
{
mManager.registerListener(this, mManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD), SensorManager.SENSOR_DELAY_GAME);
mManager.registerListener(this, mManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_GAME);
}

我相信我正在寻找方位角,它在调用 SensorManager.getOrientation(mRotationMatrix, mOrientation); 后存储在 mOrientation[0] 中。

但是,当我这样做时,结果似乎是围绕重力旋转而不是从磁北旋转。我做错了什么吗?

最佳答案

您需要先调用remapCoordinateSystem(inR, AXIS_X, AXIS_Z, outR);,然后再调用getOrientation 获取后置摄像头的方向。 方位角 就是相对于磁北的方向。这相当于将设备坐标系的负Z轴投影到世界东西北平面,然后计算投影矢量与北轴的夹角。

关于android - 如何使用 SensorEventListener 确定手机相对于磁北的方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17418599/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com