cordova-plugin-device-orientation
Ten plugin umożliwia dostęp do urządzenia kompas. Kompas jest czujnik, który wykrywa kierunek lub pozycji, że urządzenie jest wskazywany, zazwyczaj z górnej części urządzenia. Mierzy on nagłówek w stopniach od 0 do 359.99, gdzie 0 jest północ.
Dostęp odbywa się za pomocą obiektu globalnego navigator.compass.
Mimo, że obiekt jest dołączony do globalnego zakresu navigator, to nie dostępne dopiero po zdarzeniu deviceready.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(navigator.compass);
}
Instalacja
cordova plugin add cordova-plugin-device-orientation
Obsługiwane platformy
- Amazon Fire OS
- Android
- BlackBerry 10
- Przeglądarka
- Firefox OS
- iOS
- Tizen
- Windows Phone 7 i 8 (jeśli jest dostępny w sprzęcie)
- Windows 8
Metody
- navigator.compass.getCurrentHeading
- navigator.compass.watchHeading
- navigator.compass.clearWatch
navigator.compass.getCurrentHeading
Uzyskać bieżącej pozycji kompas. Kompas pozycji jest zwracana za pośrednictwem obiektu CompassHeading za pomocą funkcji wywołania zwrotnego compassSuccess.
navigator.compass.getCurrentHeading(compassSuccess, compassError);
Przykład
function onSuccess(heading) {
alert('Heading: ' + heading.magneticHeading);
};
function onError(error) {
alert('CompassError: ' + error.code);
};
navigator.compass.getCurrentHeading(onSuccess, onError);
navigator.compass.watchHeading
Pobiera bieżący nagłówek urządzenia w regularnych odstępach czasu. Każdym razem, gdy nagłówek jest źródło, funkcja wywołania zwrotnego headingSuccess jest wykonywany.
Identyfikator zwrócony zegarek odwołuje interwał kompas zegarek. Oglądaj identyfikator może być używany z navigator.compass.clearWatch, aby przestać oglądać navigator.compass.
var watchID = navigator.compass.watchHeading(compassSuccess, compassError, [compassOptions]);
compassOptions może zawierać następujące klucze:
- częstotliwość: jak często pobrać kompas pozycji w milisekundach. (Liczba) (Domyślnie: 100)
- Filtr: zmiana stopni wymagane zainicjować wywołania zwrotnego watchHeading sukces. Gdy ta wartość jest ustawiona, częstotliwość jest ignorowana. (Liczba)
Przykład
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);
Quirks przeglądarki
Wartości dla bieżącej pozycji są losowo generowane w celu symulacji kompas.
Dziwactwa iOS
Tylko jeden watchHeading może być efekt w tym samym czasie w iOS. Jeśli watchHeading używa filtru, getCurrentHeading lub watchHeading używa istniejących wartości filtru określić zmiany pozycji. Obserwując zmiany pozycji z filtrem jest bardziej efektywne niż z odstępach czasu.
Amazon ogień OS dziwactwa
filternie jest obsługiwane.
Dziwactwa Androida
- Brak wsparcia dla
filter.
Firefox OS dziwactwa
- Brak wsparcia dla
filter.
Dziwactwa Tizen
- Brak wsparcia dla
filter.
Windows Phone 7 i 8 dziwactwa
- Brak wsparcia dla
filter.
navigator.compass.clearWatch
Przestać oglądać określany przez parametr ID Zegarek kompas.
navigator.compass.clearWatch(watchID);
- watchID: Identyfikator zwrócony przez
navigator.compass.watchHeading.
Przykład
var watchID = navigator.compass.watchHeading(onSuccess, onError, options);
// ... later on ...
navigator.compass.clearWatch(watchID);
CompassHeading
Obiekt CompassHeading jest zwracany do funkcji wywołania zwrotnego compassSuccess.
Właściwości
-
magneticHeading: pozycja w stopniach od 0-359.99 w jednym momencie. (Liczba)
-
trueHeading: nagłówek do geograficznego Bieguna Północnego w stopniu 0-359.99 w jednym momencie. Wartość ujemna wskazuje, że prawda pozycji nie może być ustalona. (Liczba)
-
headingAccuracy: odchylenie w stopniach między zgłoszonych pozycji i pozycji prawda. (Liczba)
-
sygnatura czasowa: czas, w którym pozycja ta została ustalona. (w milisekundach)
Amazon ogień OS dziwactwa
-
trueHeadingnie jest obsługiwane, ale raporty taką samą wartość jakmagneticHeading -
headingAccuracyjest zawsze 0, ponieważ nie ma żadnej różnicy międzymagneticHeadingitrueHeading
Dziwactwa Androida
-
trueHeadingWłaściwość nie jest obsługiwany, ale raporty taką samą wartość jakmagneticHeading. -
headingAccuracyWłaściwość jest zawsze 0, ponieważ nie ma żadnej różnicy międzymagneticHeadingitrueHeading.
Firefox OS dziwactwa
-
trueHeadingWłaściwość nie jest obsługiwany, ale raporty taką samą wartość jakmagneticHeading. -
headingAccuracyWłaściwość jest zawsze 0, ponieważ nie ma żadnej różnicy międzymagneticHeadingitrueHeading.
Dziwactwa iOS
trueHeadingWłaściwość jest zwracana tylko dla lokalizacji usług włączone za pomocąnavigator.geolocation.watchLocation().
CompassError
Gdy wystąpi błąd, funkcja wywołania zwrotnego compassError zwracany jest obiekt CompassError.
Właściwości
- Kod: jeden z kodów błędów wstępnie zdefiniowanych poniżej.
Stałe
CompassError.COMPASS_INTERNAL_ERRCompassError.COMPASS_NOT_SUPPORTED