Foros del Web » Programando para Internet » Javascript »

[Ayuda]Calculo de la distancia entre 2 puntos con javascript

Estas en el tema de [Ayuda]Calculo de la distancia entre 2 puntos con javascript en el foro de Javascript en Foros del Web. Que tal amigos, espero esten bien, les escribo por lo siguiente: Tengo este codigo para calcular la distancia entre dos puntos dadas sus coordenadas: Código: ...
  #1 (permalink)  
Antiguo 05/12/2012, 09:09
Avatar de Bullet  
Fecha de Ingreso: agosto-2005
Ubicación: Margarita, Venezuela
Mensajes: 235
Antigüedad: 18 años, 7 meses
Puntos: 1
[Ayuda]Calculo de la distancia entre 2 puntos con javascript

Que tal amigos, espero esten bien, les escribo por lo siguiente:

Tengo este codigo para calcular la distancia entre dos puntos dadas sus coordenadas:

Código:
<script type="text/javascript">

var lat1 = parseFloat(document.forms[0].ld1.value);
var lon1 = parseFloat(document.forms[0].lod1.value);
var lat2 = parseFloat(document.forms[0].ld2.value);
var lon2 = parseFloat(document.forms[0].lod2.value);

Distancia = Dist(lat1, lon1, lat2, lon2);   //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.toFixed(3);                      //Retorna tres decimales
  document.forms[0].dist.value = d;
}
</script>
</head>

<body>
<form id="form1" name="form1" method="post" action="dist.php">
  <p>Latitud 1:
    <input type="text" name="l1" id="l1" onkeyup="latitud(this.value)" />
    <input type="text" name="ld1" id="ld1"  readonly="readonly" onChange="Dist(this.value);"/>
  
    Longitud 1:
<input type="text" name="lo1" id="lo1" onkeyup="longitud(this.value)" />
<input type="text" name="lod1" id="lod1" readonly="readonly" onChange="Dist(this.value);"/>
  </p>
  <p>Latitud 2:
    <input type="text" name="l2" id="l2" onkeyup="latitud2(this.value)" />
    <input type="text" name="ld2" id="l4" readonly="readonly" onChange="Dist(this.value);"/>
  Longitud 2:
    <input type="text" name="lo2" id="lo2" onkeyup="longitud2(this.value)" />
  <input type="text" name="lod2" id="lo4" readonly="readonly" onChange="Dist(this.value);"/></p>
  <p>Distancia: 
    <input type="text" name="dist" id="dist"/>
  </p>
  <p>
    <input type="submit" name="enviar" id="enviar" value="Enviar" />
  </p>
</form>
EL problema que tengo es que no puedo asignarlo a la caja de texto de la distancia, para que me muestre el resultado, probe con la funcion onChange y no lo asigna, espero me puedan ayudar. Saludos..

PD: Si se debe mover el post, por favor notifiquenme...
  #2 (permalink)  
Antiguo 05/12/2012, 09:14
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 18 años, 11 meses
Puntos: 839
Respuesta: [Ayuda]Calculo de la distancia entre 2 puntos con javascript

Una vez que haces el return la función termina su ejecución. Si quieres cambiar el valor del campo, debes hacerlo antes del return.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Etiquetas: distancia, funcion, input, php, puntos
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 18:26.