Kompass

Kompass

Ruft die Richtung, die das Gerät verweist.

Methoden

Argumente

Zugriff auf die Funktion

Ab Version 3.0 implementiert Cordova Geräteebene APIs als Plugins. Verwenden Sie der CLI plugin Befehl, beschrieben in der Command-Line Interface, hinzufügen oder Entfernen dieses Feature für ein Projekt:

    $ 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

Diese Befehle gelten für alle Zielplattformen, aber die unten beschriebenen Plattform-spezifische Konfigurationseinstellungen ändern:

Einige Plattformen können dieses Feature unterstützen, ohne dass eine besondere Konfiguration. Eine Übersicht finden Sie unter Plattform-Support.


compass.getCurrentHeading

Erhalten Sie aktuelle Kompassrichtung.

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

Beschreibung

Der Kompass ist ein Sensor, der erkennt die Richtung oder Position, dass das Gerät in der Regel von der Oberseite des Geräts gezeigt wird. Er misst die Überschrift im Grad von 0 bis 359.99, wobei 0 Norden ist.

Die Kompassrichtung Informationen über zurückgegeben ein CompassHeading -Objekt unter Verwendung der compassSuccess Callback-Funktion.

Unterstützte Plattformen

Kleines Beispiel

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

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

navigator.compass.getCurrentHeading(onSuccess, onError);

Vollständiges Beispiel

<!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

Erhalten Sie in regelmäßigen Abständen die Kompassrichtung in Grad.

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

Beschreibung

Der Kompass ist ein Sensor, der erkennt die Richtung oder Position, dass das Gerät angezeigt wird. Er misst die Überschrift im Grad von 0 bis 359.99.

Die compass.watchHeading Ruft das Gerät aktuelle Rubrik in regelmäßigen Abständen. Jedes Mal, die Überschrift abgerufen wird, die headingSuccess Callback-Funktion wird ausgeführt. Gibt das Intervall in Millisekunden über den frequency -Parameter in der compassOptions Objekt.

Die zurückgegebenen Uhren-ID verweist das Kompass-Uhr-Intervall. Die Uhr, die ID kann verwendet werden, mit compass.clearWatch , beobachten den Kompass zu stoppen.

Unterstützte Plattformen

Kleines Beispiel

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

Vollständiges Beispiel

<!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 Macken

In iOS compass.watchHeading erhalten Sie auch aktuelle Position des Geräts, wenn es um eine angegebene Anzahl von Grad ändert. Jedes Mal die Überschrift-Änderungen, um die angegebene Anzahl von Grad oder mehr, die headingSuccess Rückruffunktion ausgeführt wird. Geben Sie den Grad der Veränderung über die filter Parameter in der compassOptions Objekt. Deaktivieren Sie die Uhr wie üblich durch Übermittlung der zurückgegebenen Uhren-ID auf compass.clearWatch . Diese Funktion ersetzt die bisher getrennten, nur iOS- watchHeadingFilter und clearWatchFilter Funktionen, die in Version 1.6 entfernt wurden.

Nur ein watchHeading kann in der Tat auf einmal in iOS sein. Wenn ein watchHeading benutzt einen Filter Aufrufen von getCurrentHeading oder watchHeading verwendet den Wert des vorhandenen Filters Überschrift Änderungen festlegen. Überschrift Veränderungen beobachten, mit einem Filter ist effizienter als mit Zeitintervallen.


compass.clearWatch

Stoppen Sie, beobachten den Kompass auf der Uhr-ID-Parameter verweist.

navigator.compass.clearWatch(watchID);

Unterstützte Plattformen

Kleines Beispiel

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

// ... later on ...

navigator.compass.clearWatch(watchID);

Vollständiges Beispiel

<!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

Nicht mehr ab 1.6 unterstützt, finden Sie unter compass.watchHeading für die entsprechende Funktionalität.


compass.clearWatchFilter

Nicht mehr unterstützt ab 1.6. Finden Sie untercompass.clearWatch.


compassSuccess

OnSuccess-Callback-Funktion, die die Kompassrichtung Informationen über ein compassHeading Objekt.

function(heading) {
    // Do something
}

Parameter

Beispiel

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

compassError

OnError Callback-Funktion für Kompass-Funktionen.

Beispiel

function(CompassError) {
    // Handle the error
}

compassOptions

Ein optionaler Parameter, um das Abrufen des Kompasses anzupassen.

Optionen

Android Macken


Tizen Macken

Windows Phone 7 und 8 Macken


compassHeading

Ein CompassHeading Objekt wird an die CompassSuccess Callback-Funktion zurückgegeben.

Eigenschaften

Beschreibung

Das CompassHeading Objekt wird zurückgegeben, um die compassSuccess Callback-Funktion.

Android Macken

iOS Macken


CompassError

A CompassError Objekt wird zurückgegeben, um die compassError Callback-Funktion, wenn ein Fehler auftritt.

Eigenschaften

Konstanten

Beschreibung

Wenn ein Fehler auftritt, das CompassError -Objekt wird als Parameter übergeben ein compassError Callback-Funktion.