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...