Sto utilizzando il plug-in di geolocalizzazione Ionic 2 nativo e non funziona come previsto. Innanzitutto, aggiungo il plug-in.La geolocalizzazione ionica 2 non funziona su dispositivo Android
ionic plugin add cordova-plugin-geolocation
Quindi ho importato il plug-in ed emesso una chiamata per ottenere la posizione corrente.
import { Geolocation } from 'ionic-native';
import { Geoposition, GeolocationOptions } from 'ionic-native/dist/plugins/geolocation';
export class MyComponent {
protected getLocation():Promise<Geoposition> {
let options:GeolocationOptions = {
maximumAge: 0, timeout: 5000, enableHighAccuracy: false
};
return Geolocation.getCurrentPosition(options)
.catch(error => { console.error(error.message) };
}
}
Ho anche controllato il mio AndroidManifest.xml.
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Ho notato che il timeout viene sempre superato. Se lo lascio al valore predefinito (timeout è impostato su infinito per impostazione predefinita), quindi circa 20 minuti dopo, ottengo effettivamente una posizione geografica. Ovviamente, 20 minuti non sono l'ideale.
Ho anche provato a utilizzare navigator
come segue. Ma ottengo lo stesso identico risultato.
navigator.geolocation.getCurrentPosition(
position => {
console.info('using navigator');
console.info(position.coords.latitude);
console.info(position.coords.longitude);
},
error => {
console.warn('using navigator');
console.warn(error.code);
console.warn(error.message);
},
options
);
Durante il test su Chrome
, il codice funziona come previsto; l'unica differenza è che ottengo un popup che chiede se voglio consentire alla pagina di accedere alla mia posizione.
ho visto un sacco di persone hanno lo stesso problema su SO con ionica troppo, ma che è con la versione 1. Ho voluto fare questa domanda nel contesto di ionica 2.
A proposito, ho' abbiamo anche aggiornato Cordova e la versione è mostrata come 6.0.2.
npm update -g cordova
informazioni sulla versione
- ionico 2.0.0-beta.30
- Cordova 6.0.2
- Gulp CLI 1.2.1 e locale 3.9.1
Di fronte allo stesso problema. Hai trovato una soluzione? – likerRr
trovata soluzione? –
no, non ho trovato una soluzione. l'altro giorno ho guardato ionic 2, e c'è un nuovo plugin per la geolocalizzazione, ho intenzione di provarlo. posterò il link più tardi e cercherò di vedere se è d'aiuto. –