cordova-plugin-device-motion

Этот плагин обеспечивает доступ к акселерометру устройства. Акселерометр является датчиком движения, который обнаруживает изменение (дельта) в движении относительно текущей ориентации устройства, в трех измерениях вдоль осей x, y и z .

Установка

cordova plugin add cordova-plugin-device-motion

Поддерживаемые платформы

  • Amazon Fire ОС
  • Android
  • BlackBerry 10
  • Обозреватель
  • Firefox OS
  • iOS
  • Tizen
  • Windows Phone 7 и 8
  • Windows 8

Методы

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

Объекты

  • Acceleration

navigator.accelerometer.getCurrentAcceleration

Возвращает текущее ускорение вдоль осей x, y и z.

Значения ускорения передаются функции обратного вызова 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);

Браузер причуды

Значения X, Y, Z движения являются все случайным в целях моделирования акселерометра.

Особенности iOS

  • iOS не поддерживает автоматическое обновление значений для ускорения.

  • Вы должны самостоятельно отслеживать изменение ускорения и считывать данные через определенные интервалы времени.

  • Таким образом функция getCurrentAcceleration возвращает последнее значение, полученное при вызове watchAccelerometer.

navigator.accelerometer.watchAcceleration

Извлекает текущая устройство Acceleration с постоянным интервалом, выполнение accelerometerSuccess функция обратного вызова каждый раз. Задайте интервал в миллисекундах, через acceleratorOptions объекта frequency параметр.

Возвращаемый смотреть ссылки ID акселерометр часы интервал и может быть использован с navigator.accelerometer.clearWatch чтобы остановить просмотр акселерометр.

var watchID = navigator.accelerometer.watchAcceleration(accelerometerSuccess,
                                                       accelerometerError,
                                                       accelerometerOptions);
  • accelerometerOptions: Объект с следующие необязательные свойствами:
    • период: запрошенный период звонков на accelerometerSuccess с ускорение данных в миллисекундах. (Число) (По умолчанию: 10000)

Пример

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

API вызывает функцию обратного вызова с указанным интервалом, но имеет ограничение по частоте запросов к устройству от 40 мс и до 1000 мс. Например если вы запрашиваете интервал 3 секунды, (3000 мс), API запрашивает данные от устройства каждую секунду, но функция обратного вызова будет срабатывать только каждые 3 секунды.

navigator.accelerometer.clearWatch

Останавливает отслеживание изменений объекта Acceleration, на который ссылается параметр watchID.

navigator.accelerometer.clearWatch(watchID);
  • watchID: идентификатор, возвращенныйnavigator.accelerometer.watchAcceleration.

Пример

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

// ... later on ...

navigator.accelerometer.clearWatch(watchID);

Acceleration

Содержит данные полученные от акселерометра на определенный момент времени. Ускорение значения включают эффект гравитации (9,81 м/с ^ 2), так что когда устройство лежит плоская и вверх, x, y, и z значения, возвращаемые должны быть , , и9.81.

Параметры

  • x: величина ускорение по оси x. (в м/с ^ 2) (Число)
  • y: величина ускорение по оси y. (в м/с ^ 2) (Число)
  • z: величина ускорение по оси z. (в м/с ^ 2) (Число)
  • timestamp: временая метка в миллисекундах. (DOMTimeStamp)