JavaScript xdiseñadores

Acelerómetro

http://docs.phonegap.com/es/1.0.0/phonegap_accelerometer_accelerometer.md.html

accelerometer.getCurrentAcceleration

El acelerómetro es un sensor de movimiento que detecta los movimientos relativos a la posición actual orientación del dispositivo (la diferencia). El acelerómetro puede detectar movimiento 3D sobre los ejes x, y, z.

La aceleración se obtiene mediante la función 'callback' accelerometerSuccess.

navigator.accelerometer.getCurrentAcceleration(accelerometerSuccess, accelerometerError);


Ejemplo

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

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

navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);

accelerometer.watchAcceleration

Obtiene la aceleración de los ejes x, y, z, cada un cierto intervalo de tiempo.

La función accelerometer.watchAcceleration se encarga de observar la aceleración cada ciertos intervalos de tiempo. Cada vez que el visor de aceleración obtiene la aceleración, la función accelerometerSuccess se disparara. Puedes especificar el intervalo (milisegundos) en la opción frequency del objeto acceleratorOptions.

Esta función retorna un identificador que referencia a este visor de aceleración, puedes usarlo en la función clearWatchpara detenerlo.

var watchID = navigator.accelerometer.watchAcceleration(accelerometerSuccess,
accelerometerError,
[accelerometerOptions]);

Ejemplo


function onSuccess(acceleration) {

alert('Aceleración X: ' + acceleration.x + '\n' +
'Aceleración Y: ' + acceleration.y + '\n' +
'Aceleración Z: ' + acceleration.z + '\n' +
'Timestamp: ' + acceleration.timestamp + '\n');
};
function onError() {
alert('onError!');
};
var options = { frequency: 3000 }; // Actualizar cada 3 segundos
var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);

accelerometer.clearWatch

Detiene el visor de aceleración con el watchID especificado.

navigator.accelerometer.clearWatch(watchID);

- watchID: El identificador del visor de aceleración watchAcceleration que quieres detener.

Acceleration

Obtiene información actual sobre el sensor de movimiento.

Atributos

  • x: Valor de movimiento en el eje X. Rango [0, 1] (Number)
  • y: Valor de movimiento en el eje Y. Rango [0, 1] (Number)
  • z: Valor de movimiento en el eje Z. Rango [0, 1] (Number)
  • timestamp: Timestamp de cuando se obtuvo (milisegundos). (DOMTimeStamp)

Ejemplo Rapido

function onSuccess(acceleration) {
alert('Aceleración X: ' + acceleration.x + '\n' +
'Aceleración Y: ' + acceleration.y + '\n' +
'Aceleración Z: ' + acceleration.z + '\n' +
'Timestamp: ' + acceleration.timestamp + '\n');
};
function onError() {
alert('onError!');
};
navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);


accelerometerSuccess

Función 'callback' onSuccess que proporciona información sobre la aceleración.

function(acceleration) {
// Hacer algo...
}

Argumentos

acceleration: La aceleración actual. (Aceleración)

Ejemplo

function onSuccess(acceleration) {
alert('Aceleración X: ' + acceleration.x + '\n' +
'Aceleración Y: ' + acceleration.y + '\n' +
'Aceleración Z: ' + acceleration.z + '\n' +
'Timestamp: ' + acceleration.timestamp + '\n');
};
accelerometerError
Funcion 'callback' onError para las funciones de aceleración.
function() {
// Maneja el error
}

accelerometerOptions

Este argumento es opcional y sirve para personalizar la obtención del acelerómetro.

Opciones

  • frequency: Cada cuantos milisegundos obtener la aceleración (Acceleration). (Number) (Por defecto: 10000)