Cordova - Orientamento del dispositivo

La bussola viene utilizzata per mostrare la direzione relativa al punto cardinale nord geografico.

Passaggio 1: installare il plug-in di orientamento del dispositivo

Apri il command prompt finestra ed eseguire quanto segue.

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

Passaggio 2: aggiungere pulsanti

Questo plugin è simile al accelerationcollegare. Creiamo ora due pulsanti inindex.html.

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

Passaggio 3: aggiungere ascoltatori di eventi

Ora aggiungeremo event listeners dentro il onDeviceReady funzione in index.js.

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

Passaggio 4: creazione di funzioni

Creeremo due funzioni; la prima funzione genererà l'accelerazione corrente e l'altra controllerà i cambi di orientamento. Puoi vedere che stiamo usando ilfrequency nuovamente l'opzione per tenere sotto controllo i cambiamenti che si verificano ogni tre secondi.

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

Poiché il plug-in della bussola è quasi uguale al plug-in di accelerazione, questa volta ti mostreremo un codice di errore. Alcuni dispositivi non hanno il sensore magnetico necessario per il funzionamento della bussola. Se il tuo dispositivo non lo dispone, verrà visualizzato il seguente errore.