Geolocation watchPosition()

Geolocation.watchPosition()

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

Sintaxe

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

success
Uma função de retorno que captura um objeto Position como parametro de entrada.

error opcional
Uma função de retorno opcional que captura um objeto PositionError como parametro de entrada.

options opcional
Um objeto PositionOptions opcional.

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ções | Estado | Comentário |
|:—————|:——:|:———-:|
| Geolocation API A definição de ‘Geolocation.watchPosition()’ está naquela especificação | Recomendação | Especificação inicial |

Desktop

| 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 |

Mobile

| 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

Artigo no MDN

Rev 1.0: 2015-08-01
Rev 2.0: 2015-11-21

Voltar