org.apache.cordova.device-motion

Este plugin proporciona acceso a acelerómetro del dispositivo. El acelerómetro es un sensor de movimiento que detecta el cambio (delta) en movimiento con respecto a la orientación actual del dispositivo, en tres dimensiones sobre el eje x, yy z .

Instalación

cordova plugin add org.apache.cordova.device-motion

Plataformas soportadas

  • Amazon fire OS
  • Android
  • BlackBerry 10
  • Explorador
  • Firefox OS
  • iOS
  • Tizen
  • Windows Phone 7 y 8
  • Windows 8

Métodos

  • navigator.accelerometer.getCurrentAcceleration
  • navigator.accelerometer.watchAcceleration
  • navigator.accelerometer.clearWatch

Objetos

  • Acceleration

navigator.accelerometer.getCurrentAcceleration

Tienes la aceleración actual a lo largo de los ejes x, y y z.

Estos valores de aceleración son devueltos a la función de devolución de llamada accelerometerSuccess.

navigator.accelerometer.getCurrentAcceleration(accelerometerSuccess, accelerometerError);

Ejemplo

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

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

navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);

Navegador rarezas

Los valores para X, Y, movimiento Z son todo generada aleatoriamente en orden para simular el acelerómetro.

iOS rarezas

  • iOS no reconoce el concepto de conseguir la aceleración actual en cualquier momento dado.

  • Debes ver la aceleración y capturar los datos en determinados intervalos de tiempo.

  • Así, la función de getCurrentAcceleration rinde el último valor informado de una llamada de watchAccelerometer.

navigator.accelerometer.watchAcceleration

Recupera el dispositivo actual de Acceleration a intervalos regulares, ejecutar el accelerometerSuccess función callback cada vez. Especificar el intervalo en milisegundos mediante la acceleratorOptions del objeto frequency parámetro.

El vuelto ver referencias ID intervalo del acelerómetro reloj y puede ser utilizado con navigator.accelerometer.clearWatch para dejar de ver el acelerómetro.

var watchID = navigator.accelerometer.watchAcceleration(accelerometerSuccess,
                                                       accelerometerError,
                                                       accelerometerOptions);
  • accelerometerOptions: Un objeto con las llaves opcionales siguientes:
    • periodo: periodo solicitado de llamadas a accelerometerSuccess con los datos de aceleración en milisegundos. (Número) (Por defecto: 10000)

Ejemplo

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

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

var options = { frequency: 3000 };  // Update every 3 seconds

var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);

iOS rarezas

La API llama a la función de devolución de llamada de éxito en el intervalo solicitado, pero restringe la gama de solicitudes para el dispositivo entre 40ms y 1000ms. Por ejemplo, si usted solicita un intervalo de 3 segundos, (3000ms), la API pide datos desde el dispositivo cada 1 segundo, pero sólo ejecuta el callback de éxito cada 3 segundos.

navigator.accelerometer.clearWatch

Deja de mirar la aceleración al que hace referencia el parámetro watchID.

navigator.accelerometer.clearWatch(watchID);
  • watchID: el identificador devuelto pornavigator.accelerometer.watchAcceleration.

Ejemplo

var watchID = navigator.accelerometer.watchAcceleration (onSuccess, onError, opciones);  

/ /... adelante... 

navigator.accelerometer.clearWatch(watchID);

Acceleration

Contiene data del Accelerometer capturada en un punto específico en el tiempo. Valores de aceleración incluyen el efecto de la gravedad (9,81 m/s ^ 2), de modo que cuando se encuentra un dispositivo plano y hacia arriba, x, y, y z valores devueltos deben ser , , y9.81.

Propiedades

  • x: Cantidad de aceleración en el eje X. (en m/s^2) (Number)
  • y: Cantidad de aceleración en el eje Y. (en m/s^2) (Number)
  • z: Cantidad de aceleración en el eje Z. (en m/s^2) (Number)
  • timestamp: Momento de la captura en milisegundos.(DOMTimeStamp)