J'utilise un fragment, je dois obtenir ma position actuelle (lat et lng) Et calculer ma position actuelle avec la position de destination.
Pouvez-vous me donner un coup de main. quel est le meilleur moyen de calculer la localisation:
Comment puis-je obtenir la distance entre mon emplacement actuel et celui de destination en utilisant lat et 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);
Essaye ça
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
Vous pouvez utiliser la méthode statique Location: distanceBetween pour obtenir une distance entre 2 lieux.
float [] results = new float[5];
Location.distanceBetween(startLatitude, startLongitude, endLatitude,
endLongitude, results)
doc: ici
Utilisez l'API Direction pour déterminer la distance entre votre position actuelle et la destination. Il renvoie un objet JSON sous forme de distance qui vous donne la distance en miles. Vous pouvez analyser ce JSON et l'afficher sur l'écran de votre application.
Pour la documentation officielle de Google, lisez ici .
Et pour un tutoriel lire ici .
J'espère que cela aiderait !!!