Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/11/2013, 19:26
DarkSoquet
 
Fecha de Ingreso: octubre-2013
Mensajes: 22
Antigüedad: 10 años, 6 meses
Puntos: 1
Alert de una funcion

Bueno estoy trabajando en un proyecto donde necesito obtener distancias de dos puntos.

tengo el siguiente codigo:


function codeAddress() {
if (document.getElementById('alturac').value != '' && document.getElementById('callec').value !='' && document.getElementById('cicono').value !="sincategoria") {
altura = document.getElementById('alturac').value;
address = document.getElementById('callec').value + ' ' + altura + cañada;
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
crearMarcador(results[0].geometry.location);
var lat2 = -32.82318960;
var lon2 = -61.40029310;
Dist(results[0].geometry.location.lat(),
results[0].geometry.location.lng(),lat2,lon2);


} else {
alert('El Geocode no se ha ejecutado correctamente por el siguiente motivo: ' + status);
}
});

} else {alert("Debe completar todos los campos");}

}

en donde defino las variables lat2,lon2,lat,lng para utilizarlos dentro de otra funcion llamada Dist

Funcion Dist

Distancia = Dist(lat, lng, lat2, lon2); //Retorna numero en Km
alert(Distancia);
function Dist(lat, lng, lat2, lon2)
{

rad = function(x) {return x*Math.PI/180;}

var R = 6378.137; //Radio de la tierra en km
var dLat = rad( lat2 - lat );
var dLong = rad( lon2 - lng );

var a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(rad(lat)) * 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);
}

el problema es que el alert que da distancia no se me ejecuta. e probado ver si las funcion me toma bien las variable colocando un alert dentro de la funcion dist, y me las toma a la perfeccion, pero no me da el resultado del alert


PD: si yo pongo como globales las variables lat2,lon2,lat,lng anda a la perfeccion, haci q asumo q el poblema debe estar en llamar las variables de una funcion a otra, pero no logro ver donde


Desde ya muchas gracias solo por intentar

Saludos