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.