<plugin name="Compass" value="org.apache.cordova.CompassListener" />
<key>Plugins</key>
<dict>
<key>Compass</key>
<string>CDVLocation</string>
</dict>
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);
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);
navigator.compass.clearWatch(watchID);
var watchID = navigator.compass.watchHeading(onSuccess, onError, options);
...
navigator.compass.clearWatch(watchID);
function(heading) {
// Do something
}
function(CompassError) {
// Handle the error
}
방위 센서의 옵션을 정의한다.
iOS만 지원한다.
유형 | 설명 | 타입 | 비고 |
frequency | 특정 시간 간격으로 방위 센서를 감지한다. | Number | 기본 : 100 |
filter | watchHeadingFilter() 메소드에 사용하는 속성으로, 특정 filter 값 이상일 때만 감지한다. | Number | |
유형 | 설명 | 타입 | 비고 |
magneticHeading | 자기 방위 값을 나타낸다. | Number | 0 ~ 359.99 |
trueHeading | 진북을 기준으로 진방위 값을 나타내며, 음수는 진방위 값을 나타낼 수 없음을 의미한다. | Number | 0 ~ 359.99 |
headingAccuracy | 방위 각도에 대한 편차 값을 나타낸다. | Number | |
timestamp | 방위를 감지한 시각을 milliseconds 단위로 나타낸다. | | |