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.
filter
nie 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)
trueHeading
nie jest obsługiwane, ale raporty taką samą wartość jakmagneticHeading
headingAccuracy
jest zawsze 0, ponieważ nie ma żadnej różnicy między magneticHeading
itrueHeading
trueHeading
Właściwość nie jest obsługiwany, ale raporty taką samą wartość jakmagneticHeading
.
headingAccuracy
Właściwość jest zawsze 0, ponieważ nie ma żadnej różnicy między magneticHeading
itrueHeading
.
trueHeading
Właściwość nie jest obsługiwany, ale raporty taką samą wartość jakmagneticHeading
.
headingAccuracy
Właściwość jest zawsze 0, ponieważ nie ma żadnej różnicy między magneticHeading
itrueHeading
.
trueHeading
Wł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_ERR
CompassError.COMPASS_NOT_SUPPORTED