cordova-plugin-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 .
El acceso es por un global navigator.accelerometer
objeto.
Aunque el objeto está unido al ámbito global navigator
, no estará disponible hasta después de la deviceready
evento.
document.addEventListener ("deviceready", onDeviceReady, false);
function onDeviceReady() {console.log(navigator.accelerometer)};
Instalación
cordova plugin add cordova-plugin-device-motion
Plataformas soportadas
- Amazon fire OS
- Android
- BlackBerry 10
- Explorador
- Firefox OS
- iOS
- Tizen
- Windows Phone 8
- Windows
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, yy z .
Estos valores de aceleración son devueltos a la accelerometerSuccess
función de callback.
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 dewatchAccelerometer
.
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 que el dispositivo entre 40ms y 1000ms. Por ejemplo, si usted solicita un intervalo de 3 segundos, (3000ms), la API solicita datos desde el dispositivo cada 1 segundo, pero sólo ejecuta el callback de éxito cada 3 segundos.
navigator.accelerometer.clearWatch
Dejar de mirar el Acceleration
referenciado por el watchID
parámetro.
navigator.accelerometer.clearWatch(watchID);
- watchID: el identificador devuelto por
navigator.accelerometer.watchAcceleration
.
Ejemplo
var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
// ... later on ...
navigator.accelerometer.clearWatch(watchID);
Acceleration
Contiene Accelerometer
datos capturados 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)