Android指南针示例似乎不适用于横向模式

时间:2010-10-31 23:05:56

标签: android compass-geolocation

我根据这个例子开发了一个指南针:http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/Compass.html

由于我的应用程序仅在横向模式下运行,因此指南针也是如此。但是,似乎此代码在横向模式下无法正常运行。北点更向东。如果我运行Android示例代码,我会遇到同样的问题。

有没有人注意到这一点,甚至更好有人有解决方案吗?

顺便说一下,我在Nexus One上测试了这个。不确定这是否与手机有关。

祝你好运

P

1 个答案:

答案 0 :(得分:1)

您必须从旋转中减去90度,因为测光计位于手机的顶部。

int test = getResources().getConfiguration().orientation;
if(Configuration.ORIENTATION_LANDSCAPE == test) {
            rotation = -90f;
        }
        else {
            rotation = 0f;
        }
canvas.rotate((float) (-Math.toDegrees(mOrientation[0]) + rotation ));