Problema com variáveis em JavaScript

PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.

Moderadores: Administradores, Moderadores

Problema com variáveis em JavaScript

Mensagempor miguel21op » Quarta Abr 21, 2010 13:32

Olá a todos

Sou rookie em JS e tenho o problema abaixo:

Como passar o valor das variáveis lat1 e long1 para fora da função para serem atribuídas a wp[0]?

Com wp[1] não há problema porque transfiro os valores de outro ficheiro através do PHP.

Obrigado,

Miguel

Código: Seleccionar todos
<script type="text/javascript">
   
   navigator.geolocation.getCurrentPosition(
   function (pos){
        lat1 = pos.coords.longitude;
   long1 = pos.coords.latitude;
});
   var lat2 ="<?php echo $_SESSION['lat']; ?>";
   var long2 ="<?php echo $_SESSION['long']; ?>";   
   
         var wp = new Array(2);
    wp[0] = lat1 + "," +long1;
    wp[1] = lat2 + "," +long2;
   
   inicio = (wp[0]);
   destino = (wp[1]);
   
miguel21op
Novato
Novato
 
Mensagens: 7
Registado: Terça Nov 17, 2009 14:42

Mensagempor LMX » Quarta Abr 21, 2010 16:03

Boas..
epá,...acho que tens varios problemas ai.
primeiro se queres aceder num scope a uma variavel ela tem que estar definida nesse scope, caso contrario so com ponteiros, mas visto que essas variaveis estão dentro de uma função que termina antes de apanhares os valores das variaveis, nunca consegues ir busca-las.

colocas as variaveis ao mesmo nivel que colocas-te lat2,long2, por cima da função que tens claro.
depois atribuis um nome a função que crias-te pois ela não tem nome e fazes-a ca fora, ou seja ao mesmo nivel das variaveis lat1,long1.
e depois é que fazes a chamada desta função da forma:
lat1 = pos.coords.longitude;
long1 = pos.coords.latitude;
navigator.geolocation.getCurrentPosition(pos);
embora eu não saiba o que faz esta função.

se calhar não estou a perceber

cumprimentos
De pé mas...Cansado!!!
LMX
Membro de Ouro
Membro de Ouro
 
Mensagens: 786
Registado: Quarta Out 20, 2004 21:16
Localização: Lisboa

Mensagempor miguel21op » Quarta Abr 21, 2010 19:49

Como dizes não funciona.

Já experimentei definir as variáveis globalmente fora da função e antes desta, do tipo:

var lat1;
var long1;

mas à saída da função não tenho qualquer valor; não percebo...

Para que serve esta função? Pega num browser q suporte html5 (como o Firefox ou o Chrome ou melhor o iPhone ou Android) e logo vês ;-)


Código: Seleccionar todos
  <script type="text/javascript" src="http://code.google.com/apis/gears/gears_init.js"></script>

   <script type="text/javascript">
   
    navigator.geolocation.getCurrentPosition(
    function (pos){
    lat1 = pos.coords.longitude;
    long1 = pos.coords.latitude;
    document.write('Lat.: '+lat1+'<BR>');
    document.write('Long.: '+long1);    
   
});
</script>
miguel21op
Novato
Novato
 
Mensagens: 7
Registado: Terça Nov 17, 2009 14:42


Voltar para Programação

Quem está ligado:

Utilizador a ver este Fórum: Nenhum utilizador registado e 1 visitante

cron