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

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

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,