Bussola

Bussola

Ottiene la direzione che il dispositivo sta puntando.

Metodi

Argomenti

La funzionalità di accesso

A partire dalla versione 3.0, Cordova implementa le API a livello di dispositivo come plugin. Utilizzare la CLI plugin comando, descritto in Command-Line Interface, aggiungere o rimuovere questa funzionalità per un progetto:

    $ 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

Questi comandi si applicano a tutte le piattaforme mirate, ma modificano le impostazioni di configurazione specifiche della piattaforma descritte di seguito:

Alcune piattaforme possono supportare questa funzionalità senza richiedere alcuna configurazione speciale. Per una panoramica, vedere supporto della piattaforma.


compass.getCurrentHeading

Ottenere la corrente della bussola.

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

Descrizione

La bussola è un sensore che rileva la direzione o la voce che il dispositivo è puntato, in genere dalla parte superiore del dispositivo. Esso misura la rotta in gradi da 0 a 359.99, dove 0 è a nord.

Le informazioni della bussola viene restituite tramite una CompassHeading oggetto utilizzando il compassSuccess funzione di callback.

Piattaforme supportate

Esempio rapido

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

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

navigator.compass.getCurrentHeading(onSuccess, onError);

Esempio 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 intervalli regolari, ottenere la bussola in gradi.

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

Descrizione

La bussola è un sensore che rileva la direzione o la voce che il dispositivo è appuntito. Esso misura la rotta in gradi da 0 a 359.99.

Il compass.watchHeading ottiene il titolo attuale del dispositivo a intervalli regolari. Ogni volta che viene recuperato il titolo, il headingSuccess viene eseguita la funzione di callback. Specificare l'intervallo in millisecondi tramite il frequency parametro nel compassOptions oggetto.

L'orologio restituito ID fa riferimento l'intervallo orologio bussola. L'orologio ID può essere usato con compass.clearWatch a smettere di guardare la bussola.

Piattaforme supportate

Esempio rapido

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

Esempio 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 stranezze

In iOS compass.watchHeading può anche ottenere la voce corrente del dispositivo quando cambia da un numero di gradi specificato. Ogni volta che i cambiamenti di direzione del numero specificato di gradi o più, il headingSuccess viene eseguita la funzione di callback. Specificare i gradi di variazione tramite il filter parametro nel compassOptions oggetto. Cancellare l'orologio come al solito passando l'ID orologio restituito da compass.clearWatch . Questa funzionalità sostituisce il precedentemente separati, solo iOS watchHeadingFilter e clearWatchFilter funzioni, che sono stati rimossi nella versione 1.6.

Solo un watchHeading può essere in effetti una volta in iOS. Se un watchHeading utilizza un filtro, chiamata getCurrentHeading o watchHeading utilizza il valore esistente di filtro per specificare le modifiche intestazione. Guardando i cambiamenti di direzione con un filtro è più efficiente con intervalli di tempo.


compass.clearWatch

Smettere di guardare la bussola a cui fa riferimento il parametro ID orologio.

navigator.compass.clearWatch(watchID);

Piattaforme supportate

Esempio rapido

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

// ... later on ...

navigator.compass.clearWatch(watchID);

Esempio 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

Dal 1.6 non è più supportato, vedere compass.watchHeading per funzionalità equivalenti.


compass.clearWatchFilter

Dal 1.6 non è più supportato. Vederecompass.clearWatch.


compassSuccess

funzione di callback onSuccess che fornisce le informazioni della bussola tramite un compassHeading oggetto.

function(heading) {
    // Do something
}

Parametri

Esempio

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

compassError

funzione di callback onError per funzioni di bussola.

Esempio

function(CompassError) {
    // Handle the error
}

compassOptions

Parametro facoltativo per personalizzare il recupero della bussola.

Opzioni

Stranezze Android


Tizen stranezze

Windows Phone 7 e 8 stranezze


compassHeading

A CompassHeading oggetto viene restituito alla compassSuccess funzione di callback.

Proprietà

Descrizione

Il CompassHeading viene restituito l'oggetto per il compassSuccess funzione di callback.

Stranezze Android

iOS stranezze


CompassError

A CompassError oggetto viene restituito alla compassError funzione di callback quando si verifica un errore.

Proprietà

Costanti

Descrizione

Quando si verifica un errore, il CompassError oggetto viene passato come parametro a un compassError funzione di callback.