Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/05/2018, 14:44
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: calculo de distancia entre dos puntos erroneo

Puedes usar la fórmula del haverseno.
Código:
<script>
function rad(x) {
  return x * Math.PI / 180;
}
function getDistance(p1, p2) {
  var R = 6378137; // radio de la tierra en metros
  var dLat = rad(p2.lat - p1.lat);
  var dLong = rad(p2.lng - p1.lng);
  var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
    Math.cos(rad(p1.lat)) * Math.cos(rad(p2.lat)) *
    Math.sin(dLong / 2) * Math.sin(dLong / 2);
  var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
  var d = R * c;
  return d; // distancia en metros
}
var p1={'lat':'-34.637127','lng':'-58.4652139'};
var p2={'lat':'-34.6278491','lng':'-58.4842894'};
var dist=getDistance(p1, p2);
alert((dist/1000).toFixed(2)+' Km.');
</script>