Ionic - Cordova Geolokalizacja

Ta wtyczka służy do dodawania wtyczki geolokalizacji do aplikacji Ionic.

Korzystanie z geolokalizacji

Istnieje prosty sposób korzystania z wtyczki geolokalizacji. Musimy zainstalować tę wtyczkę z okna wiersza poleceń.

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

Poniższy kod kontrolera używa dwóch metod. Pierwszy togetCurrentPositioni pokaże nam aktualną szerokość i długość geograficzną urządzenia użytkownika. Drugi towatchCurrentPosition metoda, która zwróci bieżącą pozycję urządzenia, gdy pozycja zostanie zmieniona.

Kod kontrolera

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

Być może zauważyłeś również posOptions i watchOptionsobiekty. Używamytimeout aby dostosować maksymalny dozwolony czas w milisekundach i enableHighAccuracyma wartość false. Można ustawić natrueaby uzyskać najlepsze możliwe wyniki, ale czasami może to prowadzić do błędów. Istnieje również plikmaximumAgeopcja, której można użyć, aby pokazać, jak akceptowana jest stara pozycja. Używa milisekund, tak samo jak opcja limitu czasu.

Kiedy uruchomimy naszą aplikację i otworzymy konsolę, zapisze ona szerokość i długość geograficzną urządzenia. Kiedy nasza pozycja zostanie zmieniona, pliklat i long wartości ulegną zmianie.