Compass
Obtiene la dirección a la que apunta el dispositivo.
Métodos
Argumentos
compass.getCurrentHeading
Obtiene la dirección actual del dispositivo.
navigator.compass.getCurrentHeading(compassSuccess, compassError, compassOptions);
Descripcion
El compás es un sensor que detecta la dirección a la que el dispositivo esta orientado. Estos valores están representadas en grados, desde 0 a 359.99.
La dirección del compás se retorna usando la función 'callback' compassSuccess
.
Plataformas Soportadas
- Android
- iPhone
Ejemplo Rápido
function onSuccess(heading) {
alert('Dirección: ' + heading);
};
function onError() {
alert('onError!');
};
navigator.compass.getCurrentHeading(onSuccess, onError);
Ejemplo Completo
<!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">
// Espera a que PhoneGap inicie
//
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap esta listo
//
function onDeviceReady() {
navigator.compass.getCurrentHeading(onSuccess, onError);
}
// onSuccess: Obtiene el resultado
//
function onSuccess(heading) {
alert('Dirección: ' + heading);
}
// onError: Ocurrio un error
//
function onError() {
alert('onError!');
}
</script>
</head>
<body>
<h1>Ejemplo</h1>
<p>getCurrentHeading</p>
</body>
</html>
compass.watchHeading
Obtiene la dirección del compás en grados cada un cierto intervalo de tiempo.
var watchID = navigator.compass.watchHeading(compassSuccess, compassError, [compassOptions]);
Descripción
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.
Plataformas Soportadas
- Android
- iPhone
Ejemplo Rápido
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);
Ejemplo Completo
<!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>
compass.clearWatch
Detiene el visor de dirección con ese ID.
navigator.compass.clearWatch(watchID);
-
watchID: El ID retornado por
compass.watchHeading
.
Plataformas Soportadas
- Android
- iPhone
Ejemplo Rápido
var watchID = navigator.compass.watchHeading(onSuccess, onError, options);
// ... mas tarde ...
navigator.compass.clearWatch(watchID);
Ejemplo Completo
<!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 que referencia al visor
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() {
// Actualiza cada 3 segundos
var options = { frequency: 3000 };
watchID = navigator.compass.watchHeading(onSuccess, onError, options);
}
// Deja 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 = 'Heading: ' + heading;
}
// onError: Ocurrió un error
//
function onError() {
alert('onError!');
}
</script>
</head>
<body>
<div id="heading">Esperando la dirección...</div>
<button onclick="startWatch();">Empezar a observar</button>
<button onclick="stopWatch();">Dejar de observar</button>
</body>
</html>
compassSuccess
Retrollamada (callback) onSuccess que proporciona informacion sobre la direccion del compas.
function(heading) {
// Hacer algo
}
Argumentos
- heading: La direccion del compas en grados (de 0 a 359.99), al que apunta en ese preciso momento. (Number)
Ejemplo
function onSuccess(heading) {
alert('Heading: ' + heading);
};
compassError
Retrollamada (callback) onError para las funciones del compas.
function() {
// Manejar el error
}
compassOptions
Argumento opcional para personalizar la obtencion de la direccion del compas.
Opciones
- frequency: Cada cuantos milisegundos obtener la direccion del compas. (Number) (Por defecto: 100)