Ionic - Cordova Geolocation

Dieses Plugin wird zum Hinzufügen eines Geolocation-Plugins zur Ionic-App verwendet.

Geolocation verwenden

Es gibt eine einfache Möglichkeit, das Geolocation-Plugin zu verwenden. Wir müssen dieses Plugin über das Eingabeaufforderungsfenster installieren.

C:\Users\Username\Desktop\MyApp>cordova plugin add cordova-plugin-geolocation

Der folgende Controller-Code verwendet zwei Methoden. Der erste ist dergetCurrentPositionMethode und es zeigt uns den aktuellen Breiten- und Längengrad des Geräts des Benutzers. Der zweite ist derwatchCurrentPosition Methode, die die aktuelle Position des Geräts zurückgibt, wenn die Position geändert wird.

Controller-Code

.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();
})

Vielleicht haben Sie auch das bemerkt posOptions und watchOptionsObjekte. Wir benutzentimeout um die maximale Zeitdauer einzustellen, die in Millisekunden vergehen darf und enableHighAccuracyist auf false gesetzt. Es kann auf eingestellt werdentrueum die bestmöglichen Ergebnisse zu erzielen, aber manchmal kann es zu Fehlern kommen. Da ist auch einmaximumAgeOption, mit der angezeigt werden kann, wie eine alte Position akzeptiert wird. Es werden Millisekunden verwendet, genau wie bei der Timeout-Option.

Wenn wir unsere App starten und die Konsole öffnen, werden die Breiten- und Längengrade des Geräts protokolliert. Wenn unsere Position geändert wird, wird dielat und long Werte ändern sich.