Ionic - Geolocalização Cordova

Este plug-in é usado para adicionar um plug-in de geolocalização ao aplicativo Ionic.

Usando Geolocalização

Existe uma maneira simples de usar o plugin de geolocalização. Precisamos instalar este plugin a partir da janela do prompt de comando.

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

O código do controlador a seguir está usando dois métodos. O primeiro é ogetCurrentPositione nos mostrará a latitude e longitude atuais do dispositivo do usuário. O segundo é owatchCurrentPosition método que retornará a posição atual do dispositivo quando a posição for alterada.

Código do Controlador

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

Você também deve ter notado o posOptions e watchOptionsobjetos. Nós estamos usandotimeout para ajustar a duração máxima de tempo que pode passar em milissegundos e enableHighAccuracyé definido como falso. Pode ser definido paratruepara obter os melhores resultados possíveis, mas às vezes pode levar a alguns erros. Há também ummaximumAgeopção que pode ser usada para mostrar como uma posição antiga é aceita. Está usando milissegundos, o mesmo que a opção de tempo limite.

Quando iniciamos nosso aplicativo e abrimos o console, ele registrará a latitude e longitude do dispositivo. Quando nossa posição é alterada, olat e long os valores vão mudar.