Cordova - Orientation de l'appareil

La boussole est utilisée pour indiquer la direction par rapport au point cardinal nord géographique.

Étape 1 - Installer le plugin d'orientation des périphériques

Ouvrez le command prompt et exécutez ce qui suit.

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

Étape 2 - Ajouter des boutons

Ce plugin est similaire au accelerationbrancher. Créons maintenant deux boutons dansindex.html.

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

Étape 3 - Ajouter des écouteurs d'événements

Maintenant, nous allons ajouter event listeners à l'intérieur de onDeviceReady fonction dans index.js.

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

Étape 4 - Création de fonctions

Nous allons créer deux fonctions; la première fonction générera l'accélération actuelle et l'autre vérifiera les changements d'orientation. Vous pouvez voir que nous utilisons lefrequency à nouveau pour surveiller les changements qui se produisent toutes les trois secondes.

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

Puisque le plugin de boussole est presque le même que le plugin d'accélération, nous vous montrerons un code d'erreur cette fois. Certains appareils ne disposent pas du capteur magnétique nécessaire au fonctionnement de la boussole. Si votre appareil ne l'a pas, l'erreur suivante s'affichera.