Obtiene la dirección del compás en grados cada un cierto intervalo de tiempo.
var watchID = navigator.compass.watchHeading(compassSuccess, compassError, [compassOptions]);
El compás es un sensor que detecta la dirección a la que el dispositivo esta apuntando. Estas medidas están representadas en grados, desde 0 a 359.99.
El metodo compass.watchHeading
obtiene la dirección del compás cada ciertos intervalos de tiempo. Cada vez que la dirección se retorna, se dispara la función ‘callback’ headingSuccess
. Puedes especificar el intervalo de tiempo en milisegundos usando la opción frequency
del objeto compassOptions
.
Un ID es retornado por la función, ese ID apunta a este visor de dirección, puedes usarlo en la función compass.clearWatch
para detener el visor.
function onSuccess(heading) { var element = document.getElementById('heading'); element.innerHTML = 'Dirección: ' + heading; }; function onError() { alert('onError!'); }; var options = { frequency: 3000 }; // Actualizar cada 3 segundos var watchID = navigator.compass.watchHeading(onSuccess, onError, options);
<!DOCTYPE html> <html> <head> <title>Ejemplo de Compass</title> <script type="text/javascript" charset="utf-8" src="phonegap.js"></script> <script type="text/javascript" charset="utf-8"> // El ID del actual visor de dirección `watchHeading` var watchID = null; // Espera a que PhoneGap se inicie // document.addEventListener("deviceready", onDeviceReady, false); // PhoneGap esta listo // function onDeviceReady() { startWatch(); } // Empieza a observar el compás // function startWatch() { // Actualizar el compás cada 3 segundos var options = { frequency: 3000 }; watchID = navigator.compass.watchHeading(onSuccess, onError, options); } // Dejar de observar el compás // function stopWatch() { if (watchID) { navigator.compass.clearWatch(watchID); watchID = null; } } // onSuccess: Obtiene el resultado // function onSuccess(heading) { var element = document.getElementById('heading'); element.innerHTML = 'Dirección: ' + heading; } // onError: Ocurrió un error // function onError() { alert('onError!'); } </script> </head> <body> <div id="heading">Esperando dirección...</div> <button onclick="startWatch();">Iniciar el visor de dirección</button> <button onclick="stopWatch();">Detener el visor de dirección</button> </body> </html>