2011-09-18 7 views
6

La mia applicazione è alimentata da jquery mobile e utilizza la geolocalizzazione.Come chiamare la funzione quando l'utente autorizza o nega l'accesso a "Posizione fisica"?

Dopo i miei tentativi di applicazione per ottenere la posizione dell'utente, il (Chrome) del browser richiede all'utente:

Example.com vuole monitorare la tua posizione fisica [consentire] [negano]

Il mio obiettivo è:

  1. Se l'utente fa clic su "Consenti", viene chiamata la funzione 1 (l'ubicazione viene utilizzata dall'app) .
  2. Se l'utente fa clic su "Nega", viene richiamata la funzione 2 (viene visualizzato il modulo indirizzo ).

Come si può associare una funzione all'evento che si verifica (se presente) quando l'utente fa clic sul pulsante "Consenti" o "Nega"?

+0

Probabilmente si può non legarsi nulla a questi pulsanti, ma quello che fa la funzione si chiama ritorno quando si fa clic su "negare"? –

+0

Quando si fa clic su "Nega", l'utente viene trasferito a una pagina in cui deve inserire il proprio indirizzo. L'indirizzo viene quindi inviato a un servizio Web che restituisce la geolocalizzazione. – edt

risposta

14

La funzione getCurrentPosition accetta due argomenti di funzione. Diamine, il primo viene eseguito quando lo permetti e l'altro quando lo neghi!

Documentation

http://jsfiddle.net/pimvdb/QbRHg/

navigator.geolocation.getCurrentPosition(function(position) { 
    alert('allow'); 
}, function() { 
    alert('deny'); 
}); 
+4

C'è un evento che si attiva quando l'utente semplicemente chiude la finestra di dialogo o seleziona 'non ora' (in Firefox), invece di fare clic su 'nega'? –

+0

Questo non funziona in FF. –

+2

Questo non funziona esattamente. Vorrei averlo fatto. Ottengo qualche secondo di niente prima che l'evento, o l'avviso in questo esempio, spari. Quindi, l'utente rimane senza feedback per alcuni secondi, il che è male ... –

Problemi correlati