extjs-gpl
Version:
GPL licensed version of Sencha Ext JS
41 lines (37 loc) • 1.25 kB
JavaScript
/**
* @private
*/
Ext.define('Ext.device.compass.Cordova', {
alternateClassName: 'Ext.device.compass.PhoneGap',
extend: 'Ext.device.compass.Abstract',
activeWatchID: null,
getHeadingAvailable:function(config) {
var callback = function(result) {
if(result.hasOwnProperty("code")) {
config.callback.call(config.scope || this, false);
} else{
config.callback.call(config.scope || this, true);
}
};
this.getCurrentHeading({success: callback, failure: callback});
},
getCurrentHeading: function(config) {
config = this.callParent(arguments);
navigator.compass.getCurrentHeading(config.success, config.failure);
return config;
},
watchHeading: function(config) {
config = this.callParent(arguments);
if (this.activeWatchID) {
this.clearWatch();
}
this.activeWatchID = navigator.compass.watchHeading(config.callback, config.failure, config);
return config;
},
clearWatch: function() {
if (this.activeWatchID) {
navigator.compass.clearWatch(this.activeWatchID);
this.activeWatchID = null;
}
}
});