Javascript Cordova Compass API给出错误代码3
这个问题已经在stackoverflow上被问过了,但我没有找到任何答案,所以我再次提出了这个问题。请有人能回答这个问题吗 我的代码如下:Javascript Cordova Compass API给出错误代码3,javascript,android,cordova,compass,Javascript,Android,Cordova,Compass,这个问题已经在stackoverflow上被问过了,但我没有找到任何答案,所以我再次提出了这个问题。请有人能回答这个问题吗 我的代码如下: <!DOCTYPE html> <html> <head> <title>Compass Example</title> <script type="text/javascript" charset="utf-8" src="cordova.js"></script> &
<!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">
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady()
{
navigator.compass.getCurrentHeading(onSuccess, onError);
}
function onSuccess(heading)
{
alert('Heading: ' + heading.magneticHeading);
}
function onError(compassError)
{
alert('Compass Error: ' + compassError.code);
}
</script>
</head>
<body>
<h1>Example</h1>
<p>getCurrentHeading</p>
</body>
</html>
罗盘示例
文件。添加的监听器(“deviceready”,OnDeviceraddy,false);
函数ondevicerady()
{
navigator.compass.getCurrentHeading(onSuccess,onError);
}
功能成功(标题)
{
警报('标题:'+标题.磁加载);
}
函数onError(compassError)
{
警报(“指南针错误:”+指南针错误代码);
}
例子
getCurrentHeading
您的设备没有磁性传感器,或者供应商没有在操作系统中对其实施支持
查看设备定向插件的Android源代码,启动代码是这样编写的(为简洁起见进行了修改):
List List=this.sensorManager.getSensorList(Sensor.TYPE_方向);
//如果找到,则注册为侦听器
如果(列表!=null)
this.setStatus(CompassListener.STARTING);
//如果出现错误,则将状态设置为错误
其他的
this.setStatus(CompassListener.ERROR\u启动失败);
不确定他们为什么在那里编写自己的错误代码(
public static int error\u FAILED\u TO\u START=3
),但实际上他们应该报告文档中定义的COMPASS\u不受支持 我可以告诉你这个错误,我不知道解决办法<代码>公共静态整数错误\u启动失败\u=3
在什么类型的设备上运行原始问题中显示的代码示例?我使用的是android设备。
List<Sensor> list = this.sensorManager.getSensorList(Sensor.TYPE_ORIENTATION);
// If found, then register as listener
if (list != null)
this.setStatus(CompassListener.STARTING);
// If error, then set status to error
else
this.setStatus(CompassListener.ERROR_FAILED_TO_START);