Córdoba - Acelerómetro

El complemento Acelerómetro también se denomina device-motion. Se utiliza para rastrear el movimiento del dispositivo en tres dimensiones.

Paso 1: instalar el complemento acelerómetro

Instalaremos este complemento usando cordova-CLI. Escriba el siguiente código en elcommand prompt ventana.

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

Paso 2: agregar botones

En este paso, agregaremos dos botones en el index.htmlarchivo. Uno se utilizará para obtener la aceleración actual y el otro observará los cambios de aceleración.

<button id = "getAcceleration">GET ACCELERATION</button>
<button id = "watchAcceleration">WATCH ACCELERATION</button>

Paso 3: agregar oyentes de eventos

Agreguemos ahora detectores de eventos para que nuestros botones onDeviceReady funcionar dentro index.js.

document.getElementById("getAcceleration").addEventListener("click", getAcceleration);
document.getElementById("watchAcceleration").addEventListener(
   "click", watchAcceleration);

Paso 4: creación de funciones

Ahora, crearemos dos funciones. La primera función se utilizará para obtener la aceleración actual y la segunda función observará la aceleración y la información sobre la aceleración se activará cada tres segundos. También agregaremos elclearWatch función envuelta por el setTimeoutfunción para dejar de observar la aceleración después del período de tiempo especificado. losfrequency El parámetro se utiliza para activar la función de devolución de llamada cada tres segundos.

function getAcceleration() {
   navigator.accelerometer.getCurrentAcceleration(
      accelerometerSuccess, accelerometerError);

   function accelerometerSuccess(acceleration) {
      alert('Acceleration X: ' + acceleration.x + '\n' +
         'Acceleration Y: ' + acceleration.y + '\n' +
         'Acceleration Z: ' + acceleration.z + '\n' +
         'Timestamp: '      + acceleration.timestamp + '\n');
   };

   function accelerometerError() {
      alert('onError!');
   };
}

function watchAcceleration() {
   var accelerometerOptions = {
      frequency: 3000
   }
   var watchID = navigator.accelerometer.watchAcceleration(
      accelerometerSuccess, accelerometerError, accelerometerOptions);

   function accelerometerSuccess(acceleration) {
      alert('Acceleration X: ' + acceleration.x + '\n' +
         'Acceleration Y: ' + acceleration.y + '\n' +
         'Acceleration Z: ' + acceleration.z + '\n' +
         'Timestamp: '      + acceleration.timestamp + '\n');

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

   function accelerometerError() {
      alert('onError!');
   };
	
}

Ahora si presionamos el GET ACCELERATION, obtendremos el valor de aceleración actual. Si presionamos elWATCH ACCELERATION, la alerta se activará cada tres segundos. Después de que se muestre la tercera alerta,clearWatch se llamará a la función y no recibiremos más alertas ya que configuramos el tiempo de espera en 10000 milisegundos.