私はフラグメントを使用しています。現在の場所(緯度と経度)を取得する必要があり、目的地の場所で現在の場所を計算する必要があります。
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);
これを試してください
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
Locationの静的メソッドを使用できます:distanceBetween2つの場所の間の距離を取得します。
float [] results = new float[5];
Location.distanceBetween(startLatitude, startLongitude, endLatitude,
endLongitude, results)
doc: ここ