2016-03-25 17 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に変換するためにこのオフセットを追加しました。そのokかどうかを教えてください。今では値が400を超えています。これは私が200以上も耐えていることを意味します。ここで何が起こっていますか? –

+0

あなたのコードをここで共有できますか?だから私はあなたを助けることができた。次の行を使用してください。 int azimut =(int)Math.round(Math.toDegrees(orientation [0])); –

0

ここでコードを共有できますか?だから私はあなたを助けることができた。 または次の行を使用してください。

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

関連する問題