This series is about code in various languages that will calculate the distance between two latitudes and longitudes. This article is for the Javascript code.
Code courtsey : GeoDataSource
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/ /*:: :*/ /*:: This routine calculates the distance between two :*/ /*:: points (given the latitude/longitude of those points). :*/ /*:: It is being used to calculate the distance between two :*/ /*:: locations using GeoDataSource(TM) Products :*/ /*:: :*/ /*:: Definitions: :*/ /*:: South latitudes are negative, :*/ /*:: east longitudes are positive :*/ /*:: :*/ /*:: Passed to function: :*/ /*:: lat1, lon1 = Latitude and Longitude of point 1 :*/ /*:: (in decimal degrees) :*/ /*:: lat2, lon2 = Latitude and Longitude of point 2 :*/ /*:: (in decimal degrees) :*/ /*:: unit = the unit you desire for results :*/ /*:: where: 'M' is statute miles :*/ /*:: 'K' is kilometers (default) :*/ /*:: 'N' is nautical miles :*/ /*:: Worldwide cities and other features databases with :*/ /*:: latitude longitude are available at :*/ /*:: http://www.geodatasource.com :*/ /*:: :*/ /*:: For enquiries, please contact [email protected] :*/ /*:: :*/ /*:: Official Web site: http://www.geodatasource.com :*/ /*:: :*/ /*:: GeoDataSource.com (C) All Rights Reserved 2014 :*/ /*:: :*/ /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/ function distance(lat1, lon1, lat2, lon2, unit) { var radlat1 = Math.PI * lat1/180; var radlat2 = Math.PI * lat2/180; var radlon1 = Math.PI * lon1/180; var radlon2 = Math.PI * lon2/180; var theta = lon1-lon2; var radtheta = Math.PI * theta/180; var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta); dist = Math.acos(dist); dist = dist * 180/Math.PI; dist = dist * 60 * 1.1515; if (unit=="K") { dist = dist * 1.609344 } if (unit=="N") { dist = dist * 0.8684 } return dist; } document.write(distance(32.9697, -96.80322, 29.46786, -98.53506, "K") + " Kilometers");