Cordova - Geräteorientierung

Kompass wird verwendet, um die Richtung relativ zum geografischen nördlichen Kardinalpunkt anzuzeigen.

Schritt 1 - Installieren Sie das Geräteorientierungs-Plugin

Öffne das command prompt Fenster und führen Sie Folgendes aus.

C:\Users\username\Desktop\CordovaProject>cordova plugin 
   add cordova-plugindevice-orientation

Schritt 2 - Schaltflächen hinzufügen

Dieses Plugin ähnelt dem accelerationPlugin. Lassen Sie uns nun zwei Schaltflächen erstellenindex.html.

<button id = "getOrientation">GET ORIENTATION</button>
<button id = "watchOrientation">WATCH ORIENTATION</button>

Schritt 3 - Ereignis-Listener hinzufügen

Jetzt werden wir hinzufügen event listeners in der onDeviceReady Funktion in index.js.

document.getElementById("getOrientation").addEventListener("click", getOrientation);
document.getElementById("watchOrientation").addEventListener("click", watchOrientation);

Schritt 4 - Funktionen erstellen

Wir werden zwei Funktionen erstellen; Die erste Funktion generiert die aktuelle Beschleunigung und die andere überprüft die Orientierungsänderungen. Sie können sehen, dass wir die verwendenfrequency Option erneut, um Änderungen zu überwachen, die alle drei Sekunden auftreten.

function getOrientation() {
   navigator.compass.getCurrentHeading(compassSuccess, compassError);

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

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

function watchOrientation(){
   var compassOptions = {
      frequency: 3000
   }
   var watchID = navigator.compass.watchHeading(compassSuccess, 
      compassError, compassOptions);

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

      setTimeout(function() {
         navigator.compass.clearWatch(watchID);
      }, 10000);
   };

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

Da das Kompass-Plugin fast mit dem Beschleunigungs-Plugin identisch ist, wird diesmal ein Fehlercode angezeigt. Einige Geräte verfügen nicht über den Magnetsensor, der für die Funktion des Kompasses erforderlich ist. Wenn Ihr Gerät es nicht hat, wird der folgende Fehler angezeigt.