7 votes

Géolocalisation ne fonctionne pas sur l'appareil ionic3

Je travaille avec Ionic 3 pour un travail basé sur la localisation. Je ne parviens pas à obtenir la position actuelle de la latitude et de la longitude ici. J'ai mentionné mon code utilisable. Il fonctionne bien au niveau du navigateur mais ne fonctionne pas sur un appareil mobile.

code

$ ionic cordova plugin add cordova-plugin-geolocation --variable GEOLOCATION_USAGE_DESCRIPTION="Pour vous localiser"
$ npm install --save @ionic-native/geolocation

import { Geolocation } from '@ionic-native/geolocation';

constructor(private geolocation: Geolocation) {}

this.geolocation.getCurrentPosition().then((resp) => {
  console.log( resp.coords.latitude)
 console.log( resp.coords.longitude)
}).catch((error) => {
  console.log('Erreur lors de l'obtention de la localisation', error);
});

4voto

franc Points 167

Essayez ceci :

import { Geolocation } from '@ionic-native/geolocation';
import { Platform } from 'ionic-angular';

//Définissez les propriétés dans cette classe
long: any; //longitude
lati: any; //latitude

constructor(private platform: Platform, private geolocation: Geolocation) {
this.platform.ready().then(()=>{

//définir les options.. 
var options = {
           timeout: 20000 //désolé j'utilise autant de millisecondes
       }
//utiliser la géolocalisation 
this.geolocation.getCurrentPosition(options).then(data=>{
  this.long = data.coords.longitude;
  this.lati = data.coords.latitude;
 }).catch((err)=>{
     console.log("Erreur", err);
   });
});
}

Que cela soit dans le constructeur. N'oubliez pas d'accepter l'autorisation de confidentialité de l'emplacement, activez également l'option d'emplacement sur votre appareil Android (bien que cela soit probable).

2voto

Essayez d'appeler la fonction de géolocalisation à l'intérieur de la méthode ionViewDidLoad() ou ngAfterViewInit().

import { Geolocation } from '@ionic-native/geolocation';

constructor(private geolocation: Geolocation) {}

ngAfterViewInit(){
  this.geolocation.getCurrentPosition().then((resp) => {
    console.log( resp.coords.latitude)
    console.log( resp.coords.longitude)
  }).catch((error) => {
    console.log('Erreur lors de la récupération de la position', error);
  });
}

J'espère que cela résoudra votre problème!

1voto

avinash dhoke Points 44
import { Geolocation } from '@ionic-native/geolocation';
import { Platform } from 'ionic-angular';

//Définir les propriétés dans cette classe
long: any; //longitude
lati: any; //latitude

constructor(private platform: Platform, private geolocation: Geolocation) {
this.platform.ready().then(()=>{

//définir les options.. 
var options = {
        enableHighAccuracy: true, timeout: 60000, maximumAge: 0
    };
//utiliser la géolocalisation 
this.geolocation.getCurrentPosition(options).then(data=>{
  this.long = data.coords.longitude;
  this.lati = data.coords.latitude;
 }).catch((err)=>{
     console.log("Erreur", err);
   });

 let watch = this.geolocation.watchPosition(options);
          watch.subscribe((data) => {
            let lat_lng = data.coords.latitude+","+data.coords.longitude; 

});

});
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X