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 .
cordova plugin add org.apache.cordova.device-motion
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);
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);
Los valores para X, Y, movimiento Z son todo generada aleatoriamente en orden para simular el acelerómetro.
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
.
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);
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);
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.
Deja de mirar la aceleración
al que hace referencia el parámetro watchID
.
navigator.accelerometer.clearWatch(watchID);
navigator.accelerometer.watchAcceleration
.var watchID = navigator.accelerometer.watchAcceleration (onSuccess, onError, opciones); / /... adelante... navigator.accelerometer.clearWatch(watchID);
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
.