7

私は多くのことを試しましたが、アプリケーション用のキブラ コンパスを作成できません。私は自分が何をしているのか理解できません。完璧に機能するキブラ コンパスが必要です。

4

1 に答える 1

10

あなたはメッカの場所を知っており、ユーザーの現在の場所を知っています (GPS または他の場所プロバイダーを持っている場合)。方位はこの式で与えられ、緯度と経度はラジアンである必要があります。

float lonDelta = (lon2 - lon1);
float y = Math.sin(lonDelta) * Math.cos(lat2);
float x = Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1) * Math.cos(lat2) * Math.cos(lonDelta);
float brng = Math.atan2(y, x).toDeg();

brng度単位の方向です。

Location.bearingTo() メソッドを調べることもできます。こちら を参照してください

于 2012-06-04T20:21:11.460 に答える