Hola, estoy tratando de hacer una calculadora para encontrar la distancia entre 2 puntos. Todo funciona correctamente. Solo quiero asegurarme de que mis matemáticas sean correctas para los cálculos. Te daré 2 coordenadas para enchufar y decirme si está bien o mal. Gracias.
Coordenadas de prueba: lat1: 27.95094 lng1: -82.45404
lat2: 27.9659 lng2: -82.8001
Resultados de la prueba:
21.13 Millas
Solo quiero verificar que estoy obteniendo los cálculos correctos de un punto al siguiente o si mis cálculos son incorrectos. Gracias.
function distance(lat1, lng1, lat2, lng2, unit) { var radlat1 = Math.PI * lat1/180; var radlat2 = Math.PI * lat2/180; var theta = lng1-lng2; 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=='miles') { dist = (dist * 0.8684) * 1.15077945 } return dist; } travel = distance(lat1, lng1, results.features[0].center[1], results.features[0].center[0], 'miles'); travel = parseInt(travel * 100)/100;Sí, parece que ha implementado correctamente la fórmula de Haversine ( https://en.wikipedia.org/wiki/Haversine_formula )