web-dev-qa-db-ja.com

Android location.distanceTo()の使用方法

私はフラグメントを使用しています。現在の場所(緯度と経度)を取得する必要があり、目的地の場所で現在の場所を計算する必要があります。

Plsは私に手を差し伸べることができますか。場所を計算するための最良の方法は何ですか:

latとlngを使用して現在の場所と目的地からの距離を取得するにはどうすればよいですか;

    LocationManager locationManager;
    Location locatio;



locationManager = (LocationManager)getActivity().getSystemService(Context.LOCATION_SERVICE);

location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);





String product_latitude     = "3.121191";
            String product_longtitude   = "101.673298";

            Double latitude     = Double.valueOf(product_latitude);
            Double longtitude   = Double.valueOf(product_longtitude);

            // Calculate the Distance
            String product_distance = location.distanceTo(latitude, longtitude);
7
Joolah

これを試してください

double latitude=lat;
double longitude=lng;    
float distance=0;
Location crntLocation=new Location("crntlocation");
crntLocation.setLatitude(currentLatitude);
crntLocation.setLongitude(currentLongitude);

Location newLocation=new Location("newlocation");
newLocation.setLatitude(latitude);
newLocation.setLongitude(longitude);


//float distance = crntLocation.distanceTo(newLocation);  in meters
distance =crntLocation.distanceTo(newLocation) / 1000; // in km
15
Jai Rajesh

Locationの静的メソッドを使用できます:distanceBetween2つの場所の間の距離を取得します。

float [] results = new float[5]; 
Location.distanceBetween(startLatitude, startLongitude, endLatitude,
endLongitude, results)

doc: ここ

5
Chi Minh Trinh

Direction APIを使用して、現在地から目的地までの距離を検索します。 JSONオブジェクトを距離として返します。距離はマイル単位で表示されます。そのJSONを解析して、アプリの画面に表示できます。

Googleの公式ドキュメントについては、 ここ をお読みください。

そしてチュートリアルについては ここ を読んでください。

これがお役に立てば幸いです!!!

0
AniV