Posted By

ginoplusio on 12/26/09

Statistics

Viewed 5643 times
Favorited by 3 user(s)

Calculate distance between two points with latitude and longitude coordinates

/ Published in: JavaScript
Save to your folder(s)

This function calculates distance with the Haversine formula, this formula assumes that our Earth is spherical, but it isnâ€™t since itâ€™s more like a big orange fruit also compresses at poles. Iâ€™ve read that this function has an error about + o â€“ 3 meters (it depends), but itâ€™s a small error for many purposes.

Copy this code and paste it in your HTML
`function distance(lat1,lon1,lat2,lon2) {	var R = 6371; // km (change this constant to get miles)	var dLat = (lat2-lat1) * Math.PI / 180;	var dLon = (lon2-lon1) * Math.PI / 180;	var a = Math.sin(dLat/2) * Math.sin(dLat/2) +		Math.cos(lat1 * Math.PI / 180 ) * Math.cos(lat2 * Math.PI / 180 ) *		Math.sin(dLon/2) * Math.sin(dLon/2);	var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));	var d = R * c;	if (d>1) return Math.round(d)+"km";	else if (d<=1) return Math.round(d*1000)+"m";	return d;}`