Spec-Zone.ru › Cordova 6

cordova-plugin-device-orientation

Этот плагин предоставляет доступ к компасу устройства. Компас — это датчик, который определяет направление или курс устройства, обычно по отношению к его верхней части. Он измеряет направление в градусах от 0 до 359.99, где 0 — север.

Доступ осуществляется через глобальный объект navigator.compass.

Хотя объект прикреплён к глобальному пространству имён navigator, он становится доступным только после события deviceready.

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    console.log(navigator.compass);
}

Сообщайте о проблемах на форуме отслеживания проблем Apache Cordova

Установка

cordova plugin add cordova-plugin-device-orientation

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

  • Amazon Fire OS
  • Android
  • BlackBerry 10
  • Браузер
  • Firefox OS
  • iOS
  • Tizen
  • Windows Phone 7 и 8 (если доступны в оборудовании)
  • Windows 8

Методы

  • navigator.compass.getCurrentHeading
  • navigator.compass.watchHeading
  • navigator.compass.clearWatch

navigator.compass.getCurrentHeading

Получение текущего направления компаса. Направление компаса возвращается через объект CompassHeading с использованием функции обратного вызова compassSuccess.

navigator.compass.getCurrentHeading(compassSuccess, compassError);

Пример

function onSuccess(heading) {
    alert('Heading: ' + heading.magneticHeading);
};

function onError(error) {
    alert('CompassError: ' + error.code);
};

navigator.compass.getCurrentHeading(onSuccess, onError);

navigator.compass.watchHeading

Получение текущего направления устройства с заданным интервалом. Каждый раз при получении направления выполняется функция обратного вызова headingSuccess.

Возвращённый идентификатор отслеживания ссылается на интервал отслеживания компаса. Идентификатор отслеживания может быть использован с navigator.compass.clearWatch для остановки отслеживания navigator.compass.

var watchID = navigator.compass.watchHeading(compassSuccess, compassError, [compassOptions]);

compassOptions может содержать следующие ключи:

  • frequency: Частота получения направления компаса в миллисекундах. (Число) (По умолчанию: 100)
  • filter: Изменение в градусах, необходимое для запуска обратного вызова watchHeading. При установке этого значения frequency игнорируется. (Число)

Пример

function onSuccess(heading) {
    var element = document.getElementById('heading');
    element.innerHTML = 'Heading: ' + heading.magneticHeading;
};

function onError(compassError) {
    alert('Compass error: ' + compassError.code);
};

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

var watchID = navigator.compass.watchHeading(onSuccess, onError, options);

Особенности браузера

Значения для текущего направления генерируются случайным образом для имитации компаса.

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

Только один watchHeading может быть активен в один момент времени в iOS. Если watchHeading использует фильтр, вызов getCurrentHeading или watchHeading использует существующее значение фильтра для задания изменений направления. Отслеживание изменений направления с фильтром более эффективно, чем с интервалами времени.

Особенности Amazon Fire OS

  • filter не поддерживается.

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

  • Нет поддержки filter.

Особенности Firefox OS

  • Нет поддержки filter.

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

  • Нет поддержки filter.

Особенности Windows Phone 7 и 8

  • Нет поддержки filter.

navigator.compass.clearWatch

Остановка отслеживания компаса, на который ссылается параметр watch ID.

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

Пример

var watchID = navigator.compass.watchHeading(onSuccess, onError, options);

// ... later on ...

navigator.compass.clearWatch(watchID);

CompassHeading

Объект CompassHeading возвращается функции обратного вызова compassSuccess.

Свойства

  • magneticHeading: Направление в градусах от 0 до 359.99 в определённый момент времени. (Число)

  • trueHeading: Направление относительно географического Северного полюса в градусах от 0 до 359.99 в определённый момент времени. Отрицательное значение указывает, что истинное направление определить нельзя. (Число)

  • headingAccuracy: Отклонение в градусах между отчётным направлением и истинным направлением. (Число)

  • timestamp: Время, в которое было определено это направление. (DOMTimeStamp)

Особенности Amazon Fire OS

  • trueHeading не поддерживается, но отчётное значение равно magneticHeading

  • headingAccuracy всегда равен 0, так как нет разницы между magneticHeading и trueHeading

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

  • Свойство trueHeading не поддерживается, но отчётное значение равно magneticHeading.

  • Свойство headingAccuracy всегда равно 0, так как нет разницы между magneticHeading и trueHeading.

Особенности Firefox OS

  • Свойство trueHeading не поддерживается, но отчётное значение равно magneticHeading.

  • Свойство headingAccuracy всегда равно 0, так как нет разницы между magneticHeading и trueHeading.

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

  • Свойство trueHeading возвращается только при включённых сервисах геолокации через navigator.geolocation.watchLocation().

CompassError

Объект CompassError возвращается функции обратного вызова compassError при возникновении ошибки.

Свойства

  • code: Одно из предопределённых кодов ошибок, перечисленных ниже.

Константы

  • CompassError.COMPASS_INTERNAL_ERR
  • CompassError.COMPASS_NOT_SUPPORTED

© 2012, 2013, 2015 The Apache Software Foundation
Licensed under the Apache License 2.0.
https://cordova.apache.org/docs/en/6.x/reference/cordova-plugin-device-orientation/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API