web-dev-qa-db-ja.com

緯度と経度の値を使用してAndroidにLocationオブジェクトを作成する

場所の緯度と経度の値がデータベースに保存され、ダウンロードするプログラムがあります。

これらの座標と現在の位置との間の距離を取得したい。

Locationクラスには、2つのLocationオブジェクト間の距離を見つける簡単なメソッドがあるため、座標を使用してLocationオブジェクトを作成し、そのメソッドを呼び出すと考えました。

これを行う簡単な方法はありますか?また、物を乱雑にしない他の信頼できる、かなり単純な方程式があれば、それもうまくいくでしょう。ありがとう。

(Android.location.Location)

119
fonduman

現在の場所に既に場所オブジェクトがあると仮定します。

Location targetLocation = new Location("");//provider name is unnecessary
targetLocation.setLatitude(0.0d);//your coords of course
targetLocation.setLongitude(0.0d);

float distanceInMeters =  targetLocation.distanceTo(myLocation);
277
Androiderson

コンストラクタ を使用して場所を作成し、緯度と経度の値を設定できます。

final Location location = new Location("yourprovidername");
location.setLatitude(1.2345d);
location.setLongitude(1.2345d);
30
dst

私のような人の多くは実際に"providername"が何であるか知らないので、私はこれに再び答えています。以下のコードは質問に答えます:

Location location = new Location(LocationManager.GPS_PROVIDER);
location.setLatitude(23.5678);
location.setLongitude(34.456);

ここでは、"LocationManager.GPS_PROVIDER" hasプロバイダーを使用しています。

11
Vijay E