Brújula

Brújula

Obtiene la dirección que apunta el dispositivo.

Métodos

Argumentos

Acceso a la función

A partir de la versión 3.0, Cordova implementa nivel de dispositivo APIs como plugins. Uso de la CLI plugin comando, que se describe en la interfaz de línea de comandos, para añadir o eliminar esta característica para un proyecto:

    $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device-orientation.git
    $ cordova plugin rm org.apache.cordova.core.device-orientation

Estos comandos se aplican a todas las plataformas específicas, sino modificar las opciones de configuración específicas de la plataforma que se describen a continuación:

Algunas plataformas que soportan esta característica sin necesidad de ninguna configuración especial. Ver soporte de plataforma para tener una visión general.


compass.getCurrentHeading

Conseguir el actual rumbo de la brújula.

navigator.compass.getCurrentHeading(compassSuccess, compassError, compassOptions);

Descripción

La brújula es un sensor que detecta la dirección o rumbo que el dispositivo está apuntado, normalmente desde la parte superior del dispositivo. Mide el rumbo en grados de 0 a 359.99, donde 0 es el norte.

La información de rumbo de la brújula es devuelta mediante un objeto CompassHeading, utilizando la función de devolución de llamada compassSuccess.

Plataformas soportadas

Ejemplo rápido

function onSuccess(heading) {
    alert('Heading: ' + heading.magneticHeading);
};

function onError(error) {
    alert('CompassError: ' + error.code);
};

navigator.compass.getCurrentHeading(onSuccess, onError);

Ejemplo completo

<!DOCTYPE html>
<html>
  <head>
    <title>Compass Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        navigator.compass.getCurrentHeading(onSuccess, onError);
    }

    // onSuccess: Get the current heading
    //
    function onSuccess(heading) {
        alert('Heading: ' + heading.magneticHeading);
    }

    // onError: Failed to get the heading
    //
    function onError(compassError) {
        alert('Compass Error: ' + compassError.code);
    }

    </script>
  </head>
  <body>
    <h1>Example</h1>
    <p>getCurrentHeading</p>
  </body>
</html>

compass.watchHeading

A intervalos regulares, conseguir la brújula en grados.

var watchID = navigator.compass.watchHeading(compassSuccess, compassError, [compassOptions]);

Descripción

La brújula es un sensor que detecta la dirección o rumbo que el dispositivo está apuntando. Mide el rumbo en grados de 0 a 359.99.

El compass.watchHeading obtiene el rumbo actual del dispositivo a intervalos regulares. Cada vez que el título es obtenido, se ejecuta la función de devolución de llamada headingSuccess. Especificar el intervalo en milisegundos mediante el parámetro de frecuencia en el objeto compassOptions.

El identificador devuelto reloj hace referencia al intervalo de reloj brújula. El ID del reloj puede utilizarse con compass.clearWatch para dejar de mirar la brújula.

Plataformas soportadas

Ejemplo rápido

function onSuccess(heading) {
    var element = document.getElementById('heading');
    element.innerHTML = 'Heading: ' + heading.magneticHeading;
};

function onError(compassError) {
    alert('Compass error: ' + compassError.code);
};

var options = {
    frequency: 3000
}; // Update every 3 seconds

var watchID = navigator.compass.watchHeading(onSuccess, onError, options);

Ejemplo completo

<!DOCTYPE html>
<html>
  <head>
    <title>Compass Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // The watch id references the current `watchHeading`
    var watchID = null;

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        startWatch();
    }

    // Start watching the compass
    //
    function startWatch() {

        // Update compass every 3 seconds
        var options = { frequency: 3000 };

        watchID = navigator.compass.watchHeading(onSuccess, onError, options);
    }

    // Stop watching the compass
    //
    function stopWatch() {
        if (watchID) {
            navigator.compass.clearWatch(watchID);
            watchID = null;
        }
    }

    // onSuccess: Get the current heading
    //
    function onSuccess(heading) {
        var element = document.getElementById('heading');
        element.innerHTML = 'Heading: ' + heading.magneticHeading;
    }

    // onError: Failed to get the heading
    //
    function onError(compassError) {
        alert('Compass error: ' + compassError.code);
    }

    </script>
  </head>
  <body>
    <div id="heading">Waiting for heading...</div>
    <button onclick="startWatch();">Start Watching</button>
    <button onclick="stopWatch();">Stop Watching</button>
  </body>
</html>

iOS rarezas

En iOS compass.watchHeading también puede obtener rumbo actual del dispositivo cuando cambia un número especificado de grados. Cada vez los cambios de rumbo el número especificado de grados o más, ejecuta la función de devolución de llamada headingSuccess. Especifique los grados de cambio a través del parámetro de filtro en el objeto compassOptions. Claro como siempre el reloj pasando el identificador devuelto reloj al compass.clearWatch. Esta funcionalidad sustituye las funciones de clearWatchFilter, que fueron quitadas en la versión 1.6 y previamente separadas, sólo iOS watchHeadingFilter.

Sólo un watchHeading puede ser en efecto a la vez en iOS. Si un watchHeading utiliza un filtro, llamando al getCurrentHeading o watchHeading utiliza el valor existente de filtro para especificar los cambios de rumbo. Observando los cambios de rumbo con un filtro es más eficiente que con intervalos de tiempo.


compass.clearWatch

Deja de mirar la brújula al que hace referencia el parámetro ID de reloj.

navigator.compass.clearWatch(watchID);

Plataformas soportadas

Ejemplo rápido

var watchID = navigator.compass.watchHeading(onSuccess, onError, options);

// ... later on ...

navigator.compass.clearWatch(watchID);

Ejemplo completo

<!DOCTYPE html>
<html>
  <head>
    <title>Compass Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // The watch id references the current `watchHeading`
    var watchID = null;

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        startWatch();
    }

    // Start watching the compass
    //
    function startWatch() {

        // Update compass every 3 seconds
        var options = { frequency: 3000 };

        watchID = navigator.compass.watchHeading(onSuccess, onError, options);
    }

    // Stop watching the compass
    //
    function stopWatch() {
        if (watchID) {
            navigator.compass.clearWatch(watchID);
            watchID = null;
        }
    }

    // onSuccess: Get the current heading
    //
    function onSuccess(heading) {
        var element = document.getElementById('heading');
        element.innerHTML = 'Heading: ' + heading.magneticHeading;
    }

    // onError: Failed to get the heading
    //
    function onError(compassError) {
        alert('Compass error: ' + compassError.code);
    }

    </script>
  </head>
  <body>
    <div id="heading">Waiting for heading...</div>
    <button onclick="startWatch();">Start Watching</button>
    <button onclick="stopWatch();">Stop Watching</button>
  </body>
</html>

compass.watchHeadingFilter

Ya no se admite a partir de 1.6, consulte compass.watchHeading para obtener la funcionalidad equivalente.


compass.clearWatchFilter

No se admite a partir de 1.6. Ver compass.clearWatch.


compassSuccess

función callback onSuccess que proporciona la brújula información vía un compassHeading objeto.

function(heading) {
    // Do something
}

Parámetros

Ejemplo

function onSuccess(heading) {
    alert('Heading: ' + heading.magneticHeading);
};

compassError

función de callback onError para funciones de brújula.

Ejemplo

function(CompassError) {
    // Handle the error
}

compassOptions

Un parámetro opcional para personalizar la recuperación de la brújula.

Opciones

Rarezas Android


Rarezas Tizen

Windows Phone 7 y 8 rarezas


compassHeading

A CompassHeading objeto es devuelto a la compassSuccess función de callback.

Propiedades

Descripción

El CompassHeading objeto es devuelto a la compassSuccess función de callback.

Rarezas Android

iOS rarezas


CompassError

A CompassError objeto es devuelto a la compassError función de devolución de llamada cuando se produce un error.

Propiedades

Constantes

Descripción

Cuando ocurre un error, el CompassError objeto se pasa como parámetro a un compassError función de callback.