Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Problema con Geolocation.getCurrentPosition

    Ciao a tutti,

    ho un problema nella visualizzazione delle coordinate nella geolocation in javascript.

    Posto il codice
    codice:
            function RichiediPosizione()
            { var x = navigator.geolocation;
            
                if (navigator.geolocation)
                 {
                   alert(" è supportata la geolocation")
                    
                    if(navigator.geolocation.GetCurrentPosition(successo,errore))
                     {alert('fatto')}
                     else
                     {alert('non fatto')}
                    }
               else
               {
                 
                document.getElementById('latitudine').innerHTML="nessuna latitudine";
                document.getElementById('longitudine').innerHTML="nessuna longitudine";
               }
            }
       function successo(position)
            {
              document.getElementById("latitudine").innerHTML = position.coords.latitude;
              document.getElementById("longitudine").innerHTML = position.coords.longitude;
            }
            
            function errore(error)
            {
                   alert("errore!!");
            }
    e html:
    codice:
    <label>  latitudine: <span id="latitudine"></span></label><br/>
    <label>  longitudine: <span id="longitudine"></span></label><br/>
    <button  onclick="RichiediPosizione()"> LOCALIZZA</button>
    Non succede niente, ma nella Richiedi posizione viene visualizzato l'alert in cui dice che è supportata, dove sbaglio?

    Grazie

    Mike "The Ram"

  2. #2
    Mi correggo, appare la popup "Non fatto".
    Perche non dovrebbe eseguire il metodo getCurrentPosition(successo)?

    Quote Originariamente inviata da mikeRam Visualizza il messaggio
    Ciao a tutti,

    ho un problema nella visualizzazione delle coordinate nella geolocation in javascript.

    Posto il codice
    codice:
            function RichiediPosizione()
            { var x = navigator.geolocation;
            
                if (navigator.geolocation)
                 {
                   alert(" è supportata la geolocation")
                    
                    if(navigator.geolocation.GetCurrentPosition(successo,errore))
                     {alert('fatto')}
                     else
                     {alert('non fatto')}
                    }
               else
               {
                 
                document.getElementById('latitudine').innerHTML="nessuna latitudine";
                document.getElementById('longitudine').innerHTML="nessuna longitudine";
               }
            }
       function successo(position)
            {
              document.getElementById("latitudine").innerHTML = position.coords.latitude;
              document.getElementById("longitudine").innerHTML = position.coords.longitude;
            }
            
            function errore(error)
            {
                   alert("errore!!");
            }
    e html:
    codice:
    <label>  latitudine: <span id="latitudine"></span></label><br/>
    <label>  longitudine: <span id="longitudine"></span></label><br/>
    <button  onclick="RichiediPosizione()"> LOCALIZZA</button>
    Non succede niente, ma nella Richiedi posizione viene visualizzato l'alert in cui dice che è supportata, dove sbaglio?

    Grazie

    Mike "The Ram"

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Nel titolo del post l'hai scritto correttamente: getCurrentPosition vuole la g minuscola
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4
    Avevo già corretto quel particolare, ma non è cambiato nulla.
    Restituisce sempre l'alert "non fatto" ed in particolare se loggo il risultato della funzione ritorna "undefined".

    Quote Originariamente inviata da br1 Visualizza il messaggio
    Nel titolo del post l'hai scritto correttamente: getCurrentPosition vuole la g minuscola

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Quote Originariamente inviata da mikeRam Visualizza il messaggio
    Avevo già corretto quel particolare, ma non è cambiato nulla.
    Restituisce sempre l'alert "non fatto" ed in particolare se loggo il risultato della funzione ritorna "undefined".
    Ed è corretto cosi, la funzione getCurrentPosition non torna nulla(di conseguenza è corretto anche che ti appare l'alert "non fatto").

  6. #6
    Ciao Vindav,

    pero' io mi aspetto che la funzione successo chiamata dalla getCurrentPosition mi restituisca le coordinate, e cio non avviene.

    Se entra nell'else vuol dire che la GetCurrentPosition ha fallito.


    Quote Originariamente inviata da Vindav Visualizza il messaggio
    Ed è corretto cosi, la funzione getCurrentPosition non torna nulla(di conseguenza è corretto anche che ti appare l'alert "non fatto").

  7. #7

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Quote Originariamente inviata da mikeRam Visualizza il messaggio
    Ciao Vindav,

    pero' io mi aspetto che la funzione successo chiamata dalla getCurrentPosition mi restituisca le coordinate, e cio non avviene.

    Se entra nell'else vuol dire che la GetCurrentPosition ha fallito.
    Ma non è vero, entrerà sempre nell'else perche appunto la funzione getCurrentPosition non torna nulla, hai sistemato il nome del metodo(g minuscola)?

    http://jsfiddle.net/xD8v9/

  9. #9
    Fatto cosi' come postato nel codice del link ma non cambia, le coordinate non vengono restituite. Non entra nella callback successo, se ci entrasse dovrebbe mostrarmi quell'alert di debug che ho messo. E non entra nella callback errore....strano davvero...

    codice:
      if (navigator.geolocation)
                 {
                   // è supportata la geolocation
                
                    navigator.geolocation.getCurrentPosition(successo,errore)
                
                       alert(' fatto')
                     
                    
                 }
               else
               {
                 
                document.getElementById('latitudine').innerHTML="nessuna latitudine";
                document.getElementById('longitudine').innerHTML="nessuna longitudine";
               }
    
            function successo(posizione)
            {
               alert("ddd")
              document.getElementById('latitudine').innerHTML = posizione.coords.latitude;
              document.getElementById('longitudine').innerHTML = posizione.coords.longitude;
            }
            
            function errore(err)
            {
                 if(err.code == 1) {
                       alert("Error: Access is denied!");
                                   }
                else if( err.code == 2) {
                        alert("Error: Position is unavailable!");}
            }

    Quote Originariamente inviata da Vindav Visualizza il messaggio
    Ma non è vero, entrerà sempre nell'else perche appunto la funzione getCurrentPosition non torna nulla, hai sistemato il nome del metodo(g minuscola)?

    http://jsfiddle.net/xD8v9/

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    ma l'hai provato direttamente dal link? a me funziona su ff

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.