我从传感器管理器获得了设备的磁性 XYZ 值。
但是,这些是设备视角的 XYZ 值。
问题是,我希望那些坐标(磁值的 3d 向量)向北旋转。当我转动并握住设备时,我想看到相同的 XYZ值。
使用时
SensorManager.getRotationMatrix(R, I, accel, m);
SensorManager.getOrientation(R, v);
我在向量 v[] 中得到设备方向的 XYZ。
现在我需要做什么来旋转原始矢量以适应北方?
这是我正在寻找的最终结果:
如所见,对于设备的任何方向,我都得到相同的 xyz 值
编辑:
我试过添加这个:
Location l=null;
GeomagneticField field = new GeomagneticField((float) l.getLatitude(),(float) l.getLongitude(),(float) l.getAltitude(),l.getTime());
并且我从 field.getX() 获得的数据无效(可能是因为我使用了空位置...?)。知道在哪里可以找到示例代码来帮助我吗?
谢谢, 哎呀