2011-10-10 18 views
10

Sembra che PhoneGap non utilizzi il satellite GPS invece la geolocalizzazione dalla rete cellulare. Non sono soddisfatto dell'accuratezza, sempre tra 150-1000 metri. Il logo dell'attività GPS non viene visualizzato.Telefono satellitare Android e GPS Phonegap

Esiste un modo per forzare un'applicazione Android a utilizzare i satelliti GPS anche se sono disponibili altri metodi? C'è un modo per sovrascrivere la funzione predefinita per attivare l'uso del GPS sat?

Grazie in anticipo

+1

Questo è stato bloccato qui http://stackoverflow.com/questions/7518468/phonegap-gps-without-internet – Andy

+2

Hai trovato una soluzione? È lo stesso per me con Cordova 3.0.0, l'icona gps non viene visualizzata nemmeno con enableHighAccuracy: true. – arlg

risposta

11

PhoneGap utilizza effettivamente geolocalizzazione satellitare GPS proprio come piattaforma Android fa. Dovresti ricevere le posizioni con una precisione più precisa di 150 m se il GPS del tuo telefono è abilitato. Ogni volta che chiami i metodi geolocation.getCurrentPosition() o geolocation.watchPosition(), la classe GeoListener di PhoneGap chiede un provider GPS e a un provider NETWORK, quindi crea un listener per entrambi i provider, se presenti. Questo è il motivo per cui ottieni una vasta gamma di precisioni.

Quindi, nel caso in cui si desideri forzare posizioni di alta precisione, è possibile impostarlo su true nel parametro geolocationOptions passato ai metodi precedenti. Controllare l'API: geolocationOptions

navigator.geolocation.watchPosition(
    onSuccess, onError, 
    { maximumAge: 3000, timeout: 5000, enableHighAccuracy: true }); 

Nel caso in cui si desidera avere maggiore controllo e un comportamento più accurata della posizione richiede è possibile estendere API PhoneGap per farlo.

+6

È lo stesso per me con Cordova 3.0.0, l'icona gps non viene visualizzata nemmeno con enableHighAccuracy: true, e l'app non ottiene la buona posizione. – arlg

+1

Stesso problema, il provider GPS sembra essere ignorato, viene utilizzato solo il provider di rete. Se si imposta il provider di rete su off (GPS attivo) non viene eseguito alcun posizionamento. INOLTRE, quando riaccendo il Network Provider, sembra che l'app lo ignori, non venga più rilevato e devo chiudere l'app e riavviarla. – smarques

+0

Ho lo stesso problema con l'API di geolocalizzazione e un dispositivo Android. L'impostazione di enableHighAccuracy su true sembra preferire la posizione basata sulla cella o sulla rete. Se accendo AIRPLANE MODE, il GPS sembra essere usato e viene restituita una posizione esatta. Non posso certo aspettarmi che i miei utenti accendano la modalità aereo per usare questa app, quindi sono ancora alla ricerca di una soluzione. – Fingel

Problemi correlati