Obtendo a localização do usuário

Obtendo a localização do usuário

Obter a localização de um usuário é algo muito importante para aplicações que desejam mostrar conteúdos de acordo com a região do usuário. Independente do tipo de aplicação, o conceito é obter as coordenadas do usuário e postar para o servidor da aplicação, que vai retornar um conteúdo de acordo a localização. Neste texto, vou mostrar como você pode obter as coordenadas do usuário.

Para isso, os navegadores modernos suportam um objeto chamado navigator. Esse objeto navigator, responsável por guardar informações do navegador,  possui dentro um objeto chamado geolocation. O objeto geolocation possui um método chamado "watchPosition", que permite obter a posição do usuário. A implementação é feita desta forma:

navigator.geolocation.watchPosition(funcao_callback_de_sucesso, funcao_callback_de_erro, {json com as configuracoes da geolocalizacao});

Como o retorno das informações é assíncrono, é necessário ter uma função de retorno para o caso de sucesso, e uma função para o caso de erro. No terceiro parâmetro, se pode definir o timeout em milisegundos, e a frequeência em milisegundos, que é o intervalo de tempo em que uma nova consulta vai ser efetuada.

Se você testar este recurso num navegador a partir de seu computador local, ele vai pedir permissão para rastrear a sua posição, você deve aceitar para a página retornar as suas coordenadas. Caso você coloque este recurso num servidor, pode ser necessário acessar o link da página a partir de uma conexão segura (https).

Se a programação for feita no Phonegap, você precisa ativar este recurso somente depois do Phonegap estar pronto (deviceready). Se o aparelho não tiver o GPS ativado, pode ser necessário executar a geolocalização se existir conexão com a internet.

Abaixo segue um exemplo mostrando um timeout de 10 segundos e a repetição da geolocalização a cada 30 segundos

watchID = navigator.geolocation.watchPosition(onSuccess, onError,{timeout: 10000, enableHighAccuracy: false, frequency: 30000 });

 

De acordo ao que foi mostrado antes, o método "watchPosition" tem duas funções de callback. A função de sucesso recebe um objeto position com todos os dados relativos a posição do usuário. Já a função de erro recebe um objeto error com os detalhes do problema.

No link abaixo você tem um exemplo completo de geolocalização, toda a programação está nesta página.

https://dbins.websiteseguro.com/ferramentas/geolocalizacao/

 

Está começando e deseja saber o que precisa estudar de HTML e JavaScript? Não deixe de conferir os roteiros de estudo de HTML e JavaScript!. São dezenas de conteúdos para você melhorar suas habilidades.

Roteiro de estudos - HTML e CSS

Roteiro de estudos - Javascript

 

Outros conteudos que podem ser de seu interesse

Operações de agregação com JavaScript
15/03/2020JAVASCRIPT

Operações de agregação com JavaScript

Veja como extrair de um array a soma, média, maior e menor valor

Saiba mais...
Cursos online para aprender programação
23/01/2022JAVASCRIPT

Cursos online para aprender programação

Uma lista de cursos pagos ou gratuitos para aprender programação

Saiba mais...

Conteúdo sobre banco de dados sem complicação!