• Feedburner RSS
  • Comments RSS
  • Post RSS

Actionscript Distance Between 2 Longitude Latitude Points

September 6th, 2009

Recently I’ve been doing alot of Google Maps stuff in flash, and have needed this more than once. This will give you the distance in miles or km between 2 Longitude and Latitude Points.

function getLatLngDistance($lat1:Number, $lng1:Number, $lat2:Number, $lng2:Number, $miles:Boolean=true):Number{
		var pi80:Number = Math.PI/180;
		$lat1 *= pi80;
	      	$lng1 *= pi80;
	      	$lat2 *= pi80;
	      	$lng2 *= pi80;
 
	      	var earthRadius:Number = 6372.797; // mean radius of Earth in km
	      	var dlat:Number = $lat2-$lat1;
	      	var dlng:Number = $lng2-$lng1;
	      	var a:Number = Math.sin(dlat / 2) * Math.sin(dlat / 2) + Math.cos($lat1) * Math.cos($lat2) * Math.sin(dlng / 2) * Math.sin(dlng / 2);
	      	var c:Number = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
	      	var km:Number = earthRadius*c;
     	 	return ($miles ? (km * 0.621371192) : km);
}

4 Responses to “Actionscript Distance Between 2 Longitude Latitude Points”

Hi Ryan,
Thanks a lot for posting this function!!!
now I don’t need to setup a mySql db, my stores are in an actionscript array.
THANKS :-),
Ariel

Great site and very great information!

“var c:Number = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));” can be simplified to “var c:Number = 2 * Math.asin(Math.sqrt(a));”

Perfect! Thanks for saving me some math, Ryan.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">