Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/07/2012, 11:39
Avatar de Bullet
Bullet
 
Fecha de Ingreso: agosto-2005
Ubicación: Margarita, Venezuela
Mensajes: 235
Antigüedad: 18 años, 8 meses
Puntos: 1
Problema al multiplicar latitud por -1

Que mas amigos, les escribo por lo siguiente:

Mi sistema trabaja con coordenadas de latitud y longitud (Grados y Minutos), y tengo una funcion que genera la mascara de entrada y hace el calculo de conversion a decimales, hasta ahi todo bien. En mi form tengo un campo que me indica cuando al latitud es al Norte (1) o al Sur (2); cuanod la latitud esta registrada al norte, es decir 1, no tengo problemas, el detalle se me presenta cuando la latitud es igual a 2, ya que en la conversion se debe multiplicar por -1 para que de negativa. Les dejo als funciones que utilizo para generar mascara de entrada y hacer los calculos.

Código PHP:
 //Funcion que genera una mascara de entrada para la latitud
 
function mascara_lat(lat){ 
              var 
mylat ''
              
mylat mylat lat
              if (
mylat.length == 2){ 
                  
mylat mylat '°'
                  
document.forms[0].lat.value mylat
              } 
              if (
mylat.length == 5){ 
                  
mylat mylat '´'
                  
document.forms[0].lat.value mylat
                  
verifica_coord(); 
              } 
          } 
  
//Funcion que verifica las coordenadas de latitud correctas       
         
function verifica_coord(){ 
               
m11;
               
              var 
dec=''
              
gds = (document.forms[0].lat.value.substring(0,2)); 
              
min = (document.forms[0].lat.value.substring(3,5)); 
              
               
situacao ""
              
// verifica grados y minutos
              
if ((gds 00) || (gds 25)){
                  
situacao "falsa";
              }
              if (( 
min 00) ||( min 59)){ 
                  
situacao "falsa"
              } 
               if (
document.forms[0].ns.value == 2) { //Aqui esta el detalle, nose si lo estoy haciendo bien
                  
m1 = -1
              } 
               
              if (
document.forms[0].lat.value == "") { 
                  
situacao "falsa"
              } 

              if (
situacao == "falsa") { 
                  
alert("Posicion Invalida!"); 
                  
document.forms[0].lat.focus(); 
              } 
            
dec = (parseFloat(gds) + (min 60.0)) * m1;
            
document.forms[0].xxxx.value dec;
                
        } 
Con la longitud no tengo problemas, ya que esta siempre es al oeste, espero me puedan ayudar con este detallito. Saludos...