位置getBearing返回负值

时间:2016-03-25 10:03:36

标签: java android google-maps android-studio location

我想从手机位置获得实时轴承。

从GPS我们可以直接承担location.getBearing()。但是,如果我们使用蜂窝网络,我们无法承受,所以我试图使用

从旧的保存位置和当前位置计算方位
       heading = mLocation.bearingTo(location);

mLocation是旧位置,location是新位置。然而,它的一些价值观是负面的。

http://developer.android.com/reference/android/location/Location.html

清楚地告诉我们值应该是0到360,这里发生了什么。

2 个答案:

答案 0 :(得分:0)

如果你向东移动,你的方位是90度,如果你向南移动它是+180或-180,如果你向西方移动它是-90度。

答案 1 :(得分:0)

你可以在这里分享你的代码吗?所以我可以帮助你。 或尝试使用以下行

int azimut =(int)Math.round(Math.toDegrees(orientation [0]));