This question is locked. New answers and comments are not allowed.
Hi,
I'm trying to get a sample app running using the cordova compass, but each time the error callback is called with error code 3.
Here is the code:
So far I've:
- created a new cordova app:
cordova create compassDemo com.example.compassDemo "compassDemo"
- added the android platform
cordova platform add android
- added the device-orientation plugin
cordova plugin add org.apache.cordova.device-orientation
- copied the code above as index.html to the www folder (all other files within this folder were deleted previously)
- built the app
cordova build android
- and started the app
cordova run android
The app is built, deployed and started successfully, but only
According to the documentation only two error code are definded:
CompassError.COMPASS_INTERNAL_ERR = 0;
CompassError.COMPASS_NOT_SUPPORTED = 20;
So I wonder what's the meaning error code 3?
And what am I doing wrong?
I suppose there's something wrong with the configuration, but I have no clue what!?
I've also tried other plugins like accelerator and geo location, but none of them worked.
(fyi I'm using cordova 4.0.0)
Thanks for your help,
Michael
I'm trying to get a sample app running using the cordova compass, but each time the error callback is called with error code 3.
Here is the code:
<!DOCTYPE html><html> <head> <title>Compass Example</title> <script type="text/javascript" charset="utf-8" src="cordova.js"></script> <script type="text/javascript" charset="utf-8"> // The watch id references the current `watchHeading` var gWatchID = null; // Wait for device API libraries to load document.addEventListener("deviceready", onDeviceReady, false); // device APIs are available function onDeviceReady() { startWatch(); } // Start watching the compass function startWatch() { // Update compass every 3 seconds var options = { frequency: 3000 }; if (!gWatchID) gWatchID = navigator.compass.watchHeading(onSuccess, onError, options); } // Stop watching the compass function stopWatch() { if (gWatchID) { navigator.compass.clearWatch(watchID); gWatchID = null; } } // onSuccess: Get the current heading function onSuccess(heading) { var element = document.getElementById('heading'); element.innerHTML = 'Heading: ' + heading.magneticHeading; } // onError: Failed to get the heading function onError(compassError) { alert('Compass error: ' + compassError.code); } </script> </head> <body> <div id="heading">Waiting for heading...</div> <button onclick="startWatch();">Start Watching</button> <button onclick="stopWatch();">Stop Watching</button> </body></html>So far I've:
- created a new cordova app:
cordova create compassDemo com.example.compassDemo "compassDemo"
- added the android platform
cordova platform add android
- added the device-orientation plugin
cordova plugin add org.apache.cordova.device-orientation
- copied the code above as index.html to the www folder (all other files within this folder were deleted previously)
- built the app
cordova build android
- and started the app
cordova run android
The app is built, deployed and started successfully, but only
According to the documentation only two error code are definded:
CompassError.COMPASS_INTERNAL_ERR = 0;
CompassError.COMPASS_NOT_SUPPORTED = 20;
So I wonder what's the meaning error code 3?
And what am I doing wrong?
I suppose there's something wrong with the configuration, but I have no clue what!?
I've also tried other plugins like accelerator and geo location, but none of them worked.
(fyi I'm using cordova 4.0.0)
Thanks for your help,
Michael