Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Problema bucle for y mozilla

Estas en el tema de Problema bucle for y mozilla en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 29/03/2013, 09:22
 
Fecha de Ingreso: julio-2009
Mensajes: 117
Antigüedad: 15 años, 5 meses
Puntos: 0
Exclamación Problema bucle for y mozilla

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 PHP:
$.ajax({

}); 
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 />");
  #2 (permalink)  
Antiguo 29/03/2013, 11:18
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: Problema bucle for y mozilla

Podrias poner un ejemplo completo, incluido el html y como y donde llamás la función.

Y el resto de lo que va dentro de
Código:
$.ajax({ 

});
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 29/03/2013, 13:36
 
Fecha de Ingreso: julio-2009
Mensajes: 117
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Problema bucle for y mozilla

Código:
$.ajax({
	type: "GET",
	url: "caminar.gpx",
	dataType: "gpx",
	success: function(gpx, valor)
			 {
				$(gpx).find('trkpt').each(function()
										 {
		 									
											
											var lat = $(this).attr('lat');
		 									var long = $(this).attr('lon');
											//METEMOS LAS COORDENADAS EN ARRAYS PARA CALCULAR LA DISTANCIA TOTAL RECORRIA
											latitud[n] = lat;
											longitud[n] = long;
											tiempo[n]=$(this).find('time').text();
											
								

											var aux = tiempo[n].split('T');
											var time = aux[1].split(':');
											horas = time[0];
											minutos = time[1];
											segundos = parseInt(time[2]); //Se utiliza parseInt() por que la variable segundos contiene al final una Z
											horas = (horas * 3600);
											minutos = (minutos * 60);
											tiempo[n]= (horas + minutos + segundos);
											
											n+=1;
											
											altitud = parseInt($(this).find('ele').text());
											
											if(altitud > myaltitud)
											{
											myaltitud = altitud;
											$('#altitudmaxima').html("<br />Mayor altitud: " + myaltitud);
											}
									
											if(altitud < mnaltitud)
											{
											mnaltitud = altitud;
											$('#altitudminima').html("Menor altitud: " + mnaltitud + "<br />");
											}
										 }); //FIN DEL EACH

La función la llamo con esta linea que esta dentro del for

Código:
distancia = Dist(latitud[i], longitud[i], latitud[i+1], longitud[i+1]);
  #4 (permalink)  
Antiguo 01/04/2013, 03:52
 
Fecha de Ingreso: julio-2009
Mensajes: 117
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Problema bucle for y mozilla

Ya lo he solucionando yo solo, cerrar el tema

Última edición por taoshi; 01/04/2013 a las 09:05

Etiquetas: bucle, javascript-funciones, latitud, longitud
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:48.