2015-10-27 11 views
9

Si è verificato un problema nel tentativo di determinare se qualcuno ha disattivato il GPS in Ionic/Cordova.Errore display ionico se il GPS è disattivato

Ecco cosa sto cercando di fare al momento, questo funziona bene nel browser ma non su Android.

Un'altra cosa è qualcuno sa se è possibile dare un prompt per attivare il GPS con Ionic/cordova?

Qualcuno ha qualche idea?

risposta

17

Si prega di aggiungere plug-in this,

cordova plugin add cordova.plugins.diagnostic 

1.Determine se qualcuno ha il GPS spento in ionico/Cordova

Contoller

if (window.cordova) { 
    cordova.plugins.diagnostic.isLocationEnabled(function(enabled) { 
     alert("Location is " + (enabled ? "enabled" : "disabled")); 
    }, function(error) { 
     alert("The following error occurred: " + error); 
    }); 
} 

2.Giving un prompt per accendere il GPS

Controller

if (window.cordova) { 
    cordova.plugins.diagnostic.switchToLocationSettings(); 
} 
+0

Grazie per il plug-in rapido, non pensavo che esistesse. –

+0

Ciao, non sono l'ospite di questo argomento. Ho risposto a questo e ho visto la tua soluzione. –

+2

C'è un modo per controllare che la posizione venga accesa e spenta? – Seiyria

3

Penso che sia più semplice usare il plugin ngCordova per rilevare lo stato del GPS. Si può provare questo due plugin:

  1. $cordovaGeolocation:
    • Questo plugin tramite Wifi/3G/GPS per rilevare la posizione corrente.
    • Ha anche la funzione watch e la richiamata di errore. Dovresti usarlo per il controllo.
  2. O $cordovaBackgroundGeolocation:
    • Questo funziona stessa $cordovaGeolocation ma ha battery-saving caratteristica.
  3. Per messaggio immediato, penso che l'unico modo sia farlo tramite il plug-in scritto in codice Java. Controlla Introduction to custom Cordova plugin development per maggiori dettagli.
2

prova con questo

let optionsGPS = {timeout: 4000, enableHighAccuracy: true}; 
Geolocation.getCurrentPosition(optionsGPS).then((result) => { 
    this.loadMap(result.coords.latitude, result.coords.longitude); 
}).catch((err) => { 
    let alert = this.alertCtrl.create({ 
     title: 'Error on GPS', 
     subTitle: 'You need active the GPS', 
     buttons: ['Ok'] 
    }); 
    alert.present(); 
}); 

Ho avuto lo stesso problema, e questo ha funzionato per me

Problemi correlati