Comment calculer la distance entre deux points GPS latitude et longitude en JavaScript ?

Réponses rédigées par Antoine
Dernière mise à jour : 2019-06-04 17:36:02
Question

Comment faire en JavaScript pour calculer la distance entre deux points GPS, basé sur la latitude et la longitude ?

Réponse

Pour la calculer la distance entre deux points GPS, connaissant la longitude et la latitude des deux points, vous pouvez utiliser la fonction JavaScript suivante :

function distance(lat1, lon1, lat2, lon2, unit) {
	if ((lat1 == lat2) && (lon1 == lon2)) {
		return 0;
	}
	else {
		var radlat1 = Math.PI * lat1/180;
		var radlat2 = Math.PI * lat2/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);
		if (dist > 1) {
			dist = 1;
		}
		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;
	}
}

Cette fonction JavaScript permet de calculer la distance entre deux latitudes et longitudes en Miles, Kilomètres ou Nautic.

distance(start_lat, start_lng, spot_lat, spot_lng, 'K');
distance(start_lat, start_lng, spot_lat, spot_lng, 'M');
distance(start_lat, start_lng, spot_lat, spot_lng, 'N');