Skip to content

Instantly share code, notes, and snippets.

@blendax78
Created March 25, 2013 01:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save blendax78/5234372 to your computer and use it in GitHub Desktop.
Save blendax78/5234372 to your computer and use it in GitHub Desktop.
Functions to calculate the distance (in miles with extra function or kilometers by default) between two latitude and longitude points. Works well with Google's JSAPI.
function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) {
var R = 6371; // Radius of the earth in km
var dLat = deg2rad(lat2-lat1); // deg2rad below
var dLon = deg2rad(lon2-lon1);
var a =
Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
Math.sin(dLon/2) * Math.sin(dLon/2)
;
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c; // Distance in km
return d;
}
function deg2rad(deg) {
return deg * (Math.PI/180)
}
function KMtoMiles(km){
return 0.621371 * km;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment