Skip to content

Instantly share code, notes, and snippets.

@netsuite
Created October 29, 2014 13:11
Show Gist options
  • Save netsuite/b7a5da986dc0cf05d5a4 to your computer and use it in GitHub Desktop.
Save netsuite/b7a5da986dc0cf05d5a4 to your computer and use it in GitHub Desktop.
js: distance to (geolocation)
distanceTo : function(point) {
var self = this;
var R = 6371; // mean radius of earth
var location = self.origin.getPosition();
var lat1 = self.toRad_(location.lat());
var lon1 = self.toRad_(location.lng());
var lat2 = self.toRad_(point.lat);
var lon2 = self.toRad_(point.lng);
var dLat = lat2 - lat1;
var dLon = lon2 - lon1;
var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(lat1) * Math.cos(lat2) *
Math.sin(dLon / 2) * Math.sin(dLon / 2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
return R * c;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment