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(). -
Urządzeń iOS 4 i powyżej pozycji czynniki w orientacji bieżącego urządzenia, a nie odwołuje się do pozycji absolutnej, dla aplikacji, które obsługuje tej orientacji.
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