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. |
Recommendation | Especificação Inicial. |
Compatibillidade de Navegadores
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
- Usando geolocalização
- A interface que ele pertence,
Geolocation
, e como acessarNavigatorGeolocation.geolocation
. - A operação oposta:
Geolocation.clearWatch()
- Um método similar:
Geolocation.getCurrentPosition()