목차

Compass

설명

제약사항

Android

compassOptions
compassHeading

iOS

compassHeading

환경 설정

Android

<plugin name="Compass" value="org.apache.cordova.CompassListener" />

iOS

<key>Plugins</key>
<dict>
    <key>Compass</key>
    <string>CDVLocation</string>
</dict>

관련 함수

compass.getCurrentHeading

navigator.compass.getCurrentHeading(compassSuccess, compassError, compassOptions);
function onSuccess(heading) {
    alert('Heading: ' + heading.magneticHeading);
};

function onError(error) {
    alert('CompassError: ' + error.code);
};

navigator.compass.getCurrentHeading(onSuccess, onError);

compass.watchHeading

var watchID = navigator.compass.watchHeading(compassSuccess, compassError, [compassOptions]);
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);

compass.clearWatch

navigator.compass.clearWatch(watchID);
var watchID = navigator.compass.watchHeading(onSuccess, onError, options);

... 

navigator.compass.clearWatch(watchID);

파라미터

compassSuccess

function(heading) {
    // Do something
}

compassError

function(CompassError) { 
    // Handle the error 
}

compassOptions

유형설명타입비고
frequency특정 시간 간격으로 방위 센서를 감지한다.Number기본 : 100
filterwatchHeadingFilter() 메소드에 사용하는 속성으로, 특정 filter 값 이상일 때만 감지한다.Number

compassHeading

유형설명타입비고
magneticHeading자기 방위 값을 나타낸다.Number0 ~ 359.99
trueHeading진북을 기준으로 진방위 값을 나타내며, 음수는 진방위 값을 나타낼 수 없음을 의미한다. Number0 ~ 359.99
headingAccuracy방위 각도에 대한 편차 값을 나타낸다.Number
timestamp방위를 감지한 시각을 milliseconds 단위로 나타낸다.

참고자료