Compass

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

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

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

Plataformas Soportadas

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

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