2016-03-25 129 views
0

我試圖從手機位置獲得實時軸承。位置getBearing返回負值

從GPS我們可以得到直接的關係爲location.getBearing()。但是,如果我們使用蜂窩網絡,我們不能讓軸承,所以我嘗試計算使用

 heading = mLocation.bearingTo(location); 

mLocation是舊的位置,距離老保存的位置和當前位置軸承,location是新的位置。然而它的一些價值是負面的。

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

清楚地表明值應該從0到360,這裏發生了什麼。

回答

0

,如果你正朝着東動,你的軸承是90度,如果你正朝着南方移動它是+180或 - 180,如果你正在向西移動它爲-90度。

+0

OK,所以我所做的就是加入180偏移轉換爲標準0-360,這個偏移量也增加了從GPS獲取承載太多。請告訴我,如果它確定,現在有些值超過400,所以這意味着我也承受超過200。這裏發生了什麼事? –

+0

你可以在這裏分享你的代碼嗎?所以我可以幫你。或嘗試使用以下線 INT方位角=(int)的Math.round(Math.toDegrees(取向[0])); –

0

你能分享你的代碼嗎?所以我可以幫你。 或嘗試使用以下行

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