Android指南针示例

时间:2012-01-04 21:18:54

标签: android compass-geolocation

我正在寻找Android的指南针示例。我需要做的就是获得正确的方位(纵向和横向模式)。

我已经找到了几个样本,有些只使用Sensor.TYPE_ORIENTATION,有些使用了Sensor.TYPE_ACCELEROMETER& Sensor.TYPE_MAGNETIC_FIELD

哪个是正确的&让我们说Android 1.6 - 4.0的常用方法是什么?

3 个答案:

答案 0 :(得分:19)

Sensor.TYPE_ORIENTATION已弃用。

文档说明您应该使用SensorManager.getOrientation()

因此,您应该从Sensor.TYPE_ACCELEROMETER以及Sensor.TYPE_MAGNETIC_FIELD阅读,然后致电SensorManager.getRotationMatrix(),最后致电SensorManager.getOrientation(),这将返回您手机的方向。

如果您看到此图表,那么获取手机的方向是微不足道的。这可能是你的第二个例子,但我不知道,因为你没有告诉我它是什么。

答案 1 :(得分:5)

感谢Dan 提供示例代码。

但是只有小修正:根据此discussionevent.values更改为event.values.clone()。在此之后它现在适用于我修改

答案 2 :(得分:0)

使用Sensor.TYPE_ACCELEROMETERSensor.TYPE_MAGNETIC_FIELD以及SensorManager.getOrientation()方法的组合并不能为我提供准确的值。已弃用的方法Sensor.TYPE_ORIENTATION效果很好。 :)