Géolocalisation ionique - Cordova
Ce plugin est utilisé pour ajouter un plugin de géolocalisation à l'application Ionic.
Utilisation de la géolocalisation
Il existe un moyen simple d'utiliser le plugin de géolocalisation. Nous devons installer ce plugin à partir de la fenêtre d'invite de commande.
C:\Users\Username\Desktop\MyApp>cordova plugin add cordova-plugin-geolocation
Le code de contrôleur suivant utilise deux méthodes. Le premier est legetCurrentPositionméthode et il nous montrera la latitude et la longitude actuelles de l'appareil de l'utilisateur. Le second est lewatchCurrentPosition méthode qui renvoie la position actuelle de l'appareil lorsque la position est modifiée.
Code du contrôleur
.controller('MyCtrl', function($scope, $cordovaGeolocation) {
var posOptions = {timeout: 10000, enableHighAccuracy: false};
$cordovaGeolocation
.getCurrentPosition(posOptions)
.then(function (position) {
var lat = position.coords.latitude
var long = position.coords.longitude
console.log(lat + ' ' + long)
}, function(err) {
console.log(err)
});
var watchOptions = {timeout : 3000, enableHighAccuracy: false};
var watch = $cordovaGeolocation.watchPosition(watchOptions);
watch.then(
null,
function(err) {
console.log(err)
},
function(position) {
var lat = position.coords.latitude
var long = position.coords.longitude
console.log(lat + '' + long)
}
);
watch.clearWatch();
})
Vous avez peut-être également remarqué le posOptions et watchOptionsobjets. Nous utilisonstimeout pour ajuster la durée maximale autorisée en millisecondes et enableHighAccuracyest défini sur false. Il peut être réglé surtruepour obtenir les meilleurs résultats possibles, mais cela peut parfois entraîner des erreurs. Il y a aussimaximumAgeoption qui peut être utilisée pour montrer comment une ancienne position est acceptée. Il utilise des millisecondes, la même chose que l'option timeout.
Lorsque nous démarrons notre application et ouvrons la console, elle enregistrera la latitude et la longitude de l'appareil. Lorsque notre position change, lelat et long les valeurs changeront.