O método Geolocation.watchPosition() é usado para registrar uma função manipuladora (handler function) que irá ser chamada automáticamente  cada vez que a posição no dispositivo mudar. Você pode, opcionalemnte, especificar uma função de retorno que manipulará qualquer erro.

Este método retorna um valor para o watch ID que pode ser usado para desregistrar o manipulador passando isto para o método Geolocation.clearWatch().

Síntaxe

id = navigator.geolocation.watchPosition(success, error, options)

Parâmetros

success
AUma função de retorno (callback) que pega um objeto Position como parametro de entrada.  
error Optional
Uma função de retorno opcional que pega um objeto PositionError como parametro de entrada.  
options Optional
Um objeto opcional PositionOptions.

Exemplo

var id, target, options;

function success(pos) {
  var crd = pos.coords;

  if (target.latitude === crd.latitude && target.longitude === crd.longitude) {
    console.log('Parabéns, você alcançou o destino');
    navigator.geolocation.clearWatch(id);
  }
}

function error(err) {
  console.warn('ERRO(' + err.code + '): ' + err.message);
}

target = {
  latitude : 0,
  longitude: 0
};

options = {
  enableHighAccuracy: false,
  timeout: 5000,
  maximumAge: 0
};

id = navigator.geolocation.watchPosition(success, error, options);

Especificações

Especificação Estado Comentário
Geolocation API
The definition of 'Geolocation.watchPosition()' in that specification.
Recomendação Especificação Inicial.

Compatibillidade de Navegadores

Estamos convertendo nossos dados de compatibilidade para o formato JSON. Esta tabela de compatibilidade ainda usa o formato antigo, pois ainda não convertemos os dados que ela contém. Descubra como você pode ajudar!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suporte básico 5 3.5 (1.9.1) 9 10.60
Removido no 15.0
Reintroduzido no 16.0
5
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suporte básico ? ? 4.0 (4) ? 10.60 ?

 

Veja também

Etiquetas do documento e colaboradores

Colaboradores desta página: Gutem
Última atualização por: Gutem,