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.