I have an ArrayList of LatLngs. Is it possible to sequence them in order of distance from a reference LatLng? I'm practicing a delivery application which maps markers on the google map where i need to connect them using polylines (Like travelling sales person) Comparing two LatLng objects in google map v2 android (I'v gone through this link.)
Please help. Thanks in advance.
Use this to get the distance between two points :
public static float distFrom(float lat1, float lng1, float lat2, float lng2) {
double earthRadius = 3958.75;
double dLat = Math.toRadians(lat2-lat1);
double dLng = Math.toRadians(lng2-lng1);
double a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * Math.sin(dLng/2) * Math.sin(dLng/2);
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
double dist = earthRadius * c;
int meterConversion = 1609;
return (float) (dist * meterConversion);
}
And put the results in a tree map.