Компас

Компас

Получает направление, указывая устройство.

Методы

Аргументы

Доступ к функции

Начиная с версии 3.0 Кордова реализует интерфейсы API уровень устройства как плагины. Использование CLI plugin команды, описанные в интерфейс командной строки, чтобы добавить или удалить эту функцию для проекта:

    $ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device-orientation.git
    $ cordova plugin rm org.apache.cordova.core.device-orientation

Эти команды применяются для всех целевых платформ, но изменить параметры конфигурации платформы, описанные ниже:

Некоторые платформы могут поддерживать эту функцию без необходимости специальной настройки. Смотрите поддержку платформы обзор.


compass.getCurrentHeading

Получите текущий курс.

navigator.compass.getCurrentHeading(compassSuccess, compassError, compassOptions);

Описание

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

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

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

Быстрый пример

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

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

navigator.compass.getCurrentHeading(onSuccess, onError);

Полный пример

<!DOCTYPE html>
<html>
  <head>
    <title>Compass Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        navigator.compass.getCurrentHeading(onSuccess, onError);
    }

    // onSuccess: Get the current heading
    //
    function onSuccess(heading) {
        alert('Heading: ' + heading.magneticHeading);
    }

    // onError: Failed to get the heading
    //
    function onError(compassError) {
        alert('Compass Error: ' + compassError.code);
    }

    </script>
  </head>
  <body>
    <h1>Example</h1>
    <p>getCurrentHeading</p>
  </body>
</html>

compass.watchHeading

На регулярные промежутки времени получите компаса направление в градусах.

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

Описание

Компас является датчик, который определяет направление или заголовок, что устройство является острый. Он измеряет направление в градусах от 0 до 359,99 градусов.

compass.watchHeadingПолучает текущий заголовок устройства в регулярном интервале. Каждый раз, когда извлекается заголовок, headingSuccess выполняется функция обратного вызова. Задайте интервал в миллисекундах через frequency параметр в compassOptions объект.

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

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

Быстрый пример

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);

Полный пример

<!DOCTYPE html>
<html>
  <head>
    <title>Compass Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // The watch id references the current `watchHeading`
    var watchID = null;

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        startWatch();
    }

    // Start watching the compass
    //
    function startWatch() {

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

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

    // Stop watching the compass
    //
    function stopWatch() {
        if (watchID) {
            navigator.compass.clearWatch(watchID);
            watchID = null;
        }
    }

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

    // onError: Failed to get the heading
    //
    function onError(compassError) {
        alert('Compass error: ' + compassError.code);
    }

    </script>
  </head>
  <body>
    <div id="heading">Waiting for heading...</div>
    <button onclick="startWatch();">Start Watching</button>
    <button onclick="stopWatch();">Stop Watching</button>
  </body>
</html>

iOS причуды

В iOS compass.watchHeading также можете получить заголовок текущего устройства, когда она меняется на указанное число градусов. Каждый раз изменения заголовка на указанное число градусов или больше, headingSuccess выполняет функции обратного вызова. Укажите степень изменения через filter параметр в compassOptions объект. Снимите часы как обычно, передав идентификатор возвращаемый часы, чтобы compass.clearWatch . Эта функция заменяет ранее разрозненные, iOS только watchHeadingFilter и clearWatchFilter функции, которые были удалены в версии 1.6.

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


compass.clearWatch

Перестать смотреть компас, на которую ссылается параметр ID часы.

navigator.compass.clearWatch(watchID);

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

Быстрый пример

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

// ... later on ...

navigator.compass.clearWatch(watchID);

Полный пример

<!DOCTYPE html>
<html>
  <head>
    <title>Compass Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // The watch id references the current `watchHeading`
    var watchID = null;

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    //
    function onDeviceReady() {
        startWatch();
    }

    // Start watching the compass
    //
    function startWatch() {

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

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

    // Stop watching the compass
    //
    function stopWatch() {
        if (watchID) {
            navigator.compass.clearWatch(watchID);
            watchID = null;
        }
    }

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

    // onError: Failed to get the heading
    //
    function onError(compassError) {
        alert('Compass error: ' + compassError.code);
    }

    </script>
  </head>
  <body>
    <div id="heading">Waiting for heading...</div>
    <button onclick="startWatch();">Start Watching</button>
    <button onclick="stopWatch();">Stop Watching</button>
  </body>
</html>

compass.watchHeadingFilter

Больше не поддерживается начиная с 1.6, см compass.watchHeading для эквивалентной функциональности.


compass.clearWatchFilter

Больше не поддерживается начиная с 1.6. См.compass.clearWatch.


compassSuccess

Функция обратного вызова onSuccess, предоставляет информацию курс через compassHeading объект.

function(heading) {
    // Do something
}

Параметры

Пример

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

compassError

Функция обратного вызова в onError для компас функций.

Пример

function(CompassError) {
    // Handle the error
}

compassOptions

Необязательный параметр для настройки поиска компаса.

Параметры

Андроид причуды


Tizen причуды

Windows Phone 7 и 8 причуды


compassHeading

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

Свойства

Описание

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

Андроид причуды

iOS причуды


CompassError

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

Свойства

Константы

Описание

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