Córdoba - Orientación del dispositivo
La brújula se utiliza para mostrar la dirección relativa al punto cardinal norte geográfico.
Paso 1: instalar el complemento de orientación del dispositivo
Abre el command prompt ventana y ejecute lo siguiente.
C:\Users\username\Desktop\CordovaProject>cordova plugin
add cordova-plugindevice-orientation
Paso 2: agregar botones
Este complemento es similar al accelerationenchufar. Creemos ahora dos botones enindex.html.
<button id = "getOrientation">GET ORIENTATION</button>
<button id = "watchOrientation">WATCH ORIENTATION</button>
Paso 3: agregar oyentes de eventos
Ahora, agregaremos event listeners dentro de onDeviceReady funcionar en index.js.
document.getElementById("getOrientation").addEventListener("click", getOrientation);
document.getElementById("watchOrientation").addEventListener("click", watchOrientation);
Paso 4: creación de funciones
Crearemos dos funciones; la primera función generará la aceleración actual y la otra verificará los cambios de orientación. Puede ver que estamos usando elfrequency opción nuevamente para vigilar los cambios que ocurren cada tres segundos.
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);
};
}
Dado que el complemento de brújula es casi el mismo que el complemento de aceleración, esta vez le mostraremos un código de error. Algunos dispositivos no tienen el sensor magnético que se necesita para que funcione la brújula. Si su dispositivo no lo tiene, se mostrará el siguiente error.