[解決済み] 地理的な2地点間の距離計算
2023-07-21 12:34:59
質問
この状況について、何かヒントをください。
今、私は近くの場所の緯度と経度を持つ2つの配列を持っており、また、ユーザーの位置の緯度と経度を持っています。
私は、次のように距離を計算するためのメソッドがあることを知っています。
public static void distanceBetween (double startLatitude, double startLongitude, double endLatitude, double endLongitude, float[] results);
さて、問題はこのメソッドに緯度と経度を持つ2つの配列を渡し、距離の配列を取得する方法です。
どのように解決するのでしょうか?
http://developer.android.com/reference/android/location/Location.html
距離を調べるTo
この場所と指定された場所との間のおおよその距離をメートル単位で返します。 をメートル単位で返します。距離はWGS84楕円体を使用して定義されます。
またはdistanceBetween
<ブロッククオート2つの地点間のおおよその距離をメートル単位で計算します。 オプションで、その間の最短パスの初期および最終の方位を計算します。 を計算します。距離と方位はWGS84楕円体を使用して定義されます。
緯度と経度からLocationオブジェクトを作成することができます。
Location locationA = new Location("point A");
locationA.setLatitude(latA);
locationA.setLongitude(lngA);
Location locationB = new Location("point B");
locationB.setLatitude(latB);
locationB.setLongitude(lngB);
float distance = locationA.distanceTo(locationB);
または
private double meterDistanceBetweenPoints(float lat_a, float lng_a, float lat_b, float lng_b) {
float pk = (float) (180.f/Math.PI);
float a1 = lat_a / pk;
float a2 = lng_a / pk;
float b1 = lat_b / pk;
float b2 = lng_b / pk;
double t1 = Math.cos(a1) * Math.cos(a2) * Math.cos(b1) * Math.cos(b2);
double t2 = Math.cos(a1) * Math.sin(a2) * Math.cos(b1) * Math.sin(b2);
double t3 = Math.sin(a1) * Math.sin(b1);
double tt = Math.acos(t1 + t2 + t3);
return 6366000 * tt;
}
関連
-
[解決済み] 2つの緯度経度点間の距離を計算する?(ハバーシンの公式)
-
[解決済み】「px」、「dip」、「dp」、「sp」の違いは?
-
[解決済み] Androidで緯度・経度値を持つ位置情報オブジェクトを作成する
-
[解決済み] HttpPostによる画像送信
-
[解決済み] AsyncTaskを複数回実行する
-
[解決済み] 複数のフィルタを持つBroadcastReceiverか、複数のBroadcastReceiverか?
-
[解決済み] Android StudioからADBを手動で再起動する方法
-
[解決済み] BottomNavigationViewを新しいNavControllerで使用する際に、フラグメントを生かす方法はありますか?
-
[解決済み] アンドロイドボタンセレクター
-
[解決済み] 文字列リソースにHTML?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Androidで緯度・経度値を持つ位置情報オブジェクトを作成する
-
[解決済み] HttpPostによる画像送信
-
[解決済み] Android端末がHDPI画面かMDPI画面かを確認する方法は?
-
[解決済み] RecyclerViewのアイテムに波及効果を追加する
-
[解決済み] edittextのテキストがメールアドレスかどうかを確認するには?
-
[解決済み] BottomNavigationViewを新しいNavControllerで使用する際に、フラグメントを生かす方法はありますか?
-
[解決済み] Androidでツールバーの戻るボタンの色を変えるには?
-
[解決済み] Androidの環境設定。ユーザーが環境設定画面を使用していない場合、デフォルト値を読み込むにはどうすればよいですか?
-
[解決済み] Android: xml リソースからの整数値
-
[解決済み] ViewPager2でスワイプを無効にするには?