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);
}
cordova plugin add cordova-plugin-device-orientation
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);
function onSuccess(heading) {
alert('Heading: ' + heading.magneticHeading);
};
function onError(error) {
alert('CompassError: ' + error.code);
};
navigator.compass.getCurrentHeading(onSuccess, onError);
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:
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);
Wartości dla bieżącej pozycji są losowo generowane w celu symulacji kompas.
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.
filternie jest obsługiwane.filter.filter.filter.filter.Przestać oglądać określany przez parametr ID Zegarek kompas.
navigator.compass.clearWatch(watchID);
navigator.compass.watchHeading.var watchID = navigator.compass.watchHeading(onSuccess, onError, options); // ... later on ... navigator.compass.clearWatch(watchID);
Obiekt CompassHeading jest zwracany do funkcji wywołania zwrotnego compassSuccess.
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)
trueHeadingnie jest obsługiwane, ale raporty taką samą wartość jakmagneticHeading
headingAccuracyjest zawsze 0, ponieważ nie ma żadnej różnicy między magneticHeading itrueHeading
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ędzy magneticHeading itrueHeading.
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ędzy magneticHeading itrueHeading.
trueHeadingWłaściwość jest zwracana tylko dla lokalizacji usług włączone za pomocąnavigator.geolocation.watchLocation().Gdy wystąpi błąd, funkcja wywołania zwrotnego compassError zwracany jest obiekt CompassError.
CompassError.COMPASS_INTERNAL_ERRCompassError.COMPASS_NOT_SUPPORTED