Antes de nada decir el código me funciona en todos los navegadores menos en mozilla firefox, con alert's he viendo como se ejecuta el código , y el problema esta en que no entra en la función "dist" y el código que continua no se ejecuta.
Este bucle for esta dentro de
Código:
//CALCULO DE LA DISTANCIA TOTAL RECORRIDA.
for(var i=1 ;i<n-1; i++)
{
distancia = Dist(latitud[i], longitud[i], latitud[i+1], longitud[i+1]); //Retorna numero en Km
function Dist(lat1, lon1, lat2, lon2)
{
rad = function(x) {return x*Math.PI/180;}
var R = 6378.137; //Radio de la tierra en km
var dLat = rad( lat2 - lat1 );
var dLong = rad( lon2 - lon1 );
var a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(rad(lat1)) * Math.cos(rad(lat2)) * 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;
}
distanciatotal = (distanciatotal + distancia);
//sacamos le margen de tiempo que hay de una coordenada a otra
var margen = tiempo[i+1] - tiempo[i];
//pasamos la distancia entre coordenadas a metros
distancia = distancia * 1000;
//calculamos la velocidad M/s
var velocidad = distancia / margen;
//pasamos la velocidad de M/s a KM/h
velocidad = (velocidad / 1000) * 3600;
//finalmente dejamos la velocidad con dos decimales
velocidad = velocidad.toFixed(2);
if(velocidad > myvelocidad)
{
myvelocidad = parseInt(velocidad);
$('#velocidad').html( myvelocidad + " Mayor velocidad alcanzada"+ "<br />");
}
}//FIN FOR
$('#distancia').html(distanciatotal.toFixed(3) + " metros"+ "<br />");