Компас используется для отображения направления относительно географической северной кардинальной точки.
Шаг 1 — Установите плагин Ориентация устройства
Откройте окно командной строки и выполните следующее.
C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugindevice-orientation
Шаг 2 — Добавить кнопки
Этот плагин похож на плагин ускорения . Давайте теперь создадим две кнопки в index.html .
<button id = "getOrientation">GET ORIENTATION</button> <button id = "watchOrientation">WATCH ORIENTATION</button>
Шаг 3 — Добавить прослушиватели событий
Теперь мы добавим прослушиватели событий в функцию onDeviceReady в index.js .
document.getElementById("getOrientation").addEventListener("click", getOrientation); document.getElementById("watchOrientation").addEventListener("click", watchOrientation);
Шаг 4 — Создание функций
Мы создадим две функции; первая функция будет генерировать текущее ускорение, а другая будет проверять изменения ориентации. Вы можете видеть, что мы снова используем опцию частоты, чтобы следить за изменениями, которые происходят каждые три секунды.
function getOrientation() { navigator.compass.getCurrentHeading(compassSuccess, compassError); function compassSuccess(heading) { alert('Heading: ' + heading.magneticHeading); }; function compassError(error) { alert('CompassError: ' + error.code); }; } function watchOrientation(){ var compassOptions = { frequency: 3000 } var watchID = navigator.compass.watchHeading(compassSuccess, compassError, compassOptions); function compassSuccess(heading) { alert('Heading: ' + heading.magneticHeading); setTimeout(function() { navigator.compass.clearWatch(watchID); }, 10000); }; function compassError(error) { alert('CompassError: ' + error.code); }; }
Поскольку плагин компаса почти такой же, как плагин ускорения, на этот раз мы покажем вам код ошибки. Некоторые устройства не имеют магнитного датчика, необходимого для работы компаса. Если на вашем устройстве его нет, отобразится следующая ошибка.