Javascript 加速度计问题

Javascript 加速度计问题,javascript,html,accelerometer,intel-xdk,gravity,Javascript,Html,Accelerometer,Intel Xdk,Gravity,我正在做一个应用程序,它将使用加速度计作为资源。我用HTML5和JavaScript编程,然后测试了应用程序,它在不同的智能手机上给出了不同的值。 我已经在三星Galaxy IV和索尼Xperia E上进行了测试。两款智能手机都是在平板电脑上同时测试的。 索尼Xperia E的价值观是: X:0 Z:0,07~0,15(不稳定) Z:2,45 三星Galaxy IV的数值为: X:-0,53 Y:0,05~0,09(不稳定) Z:9,46 我有一位老师告诉我,问题是重力 如何解决这个问题?怎么做

我正在做一个应用程序,它将使用加速度计作为资源。我用HTML5和JavaScript编程,然后测试了应用程序,它在不同的智能手机上给出了不同的值。 我已经在三星Galaxy IV和索尼Xperia E上进行了测试。两款智能手机都是在平板电脑上同时测试的。 索尼Xperia E的价值观是:

X:0

Z:0,07~0,15(不稳定)

Z:2,45

三星Galaxy IV的数值为:

X:-0,53

Y:0,05~0,09(不稳定)

Z:9,46

我有一位老师告诉我,问题是重力

如何解决这个问题?怎么做

<script type="text/javascript" charset="utf-8">

// The watch id references the current `watchAcceleration`
var watchID = null;

// Wait for device API libraries to load
//
document.addEventListener("deviceready", onDeviceReady, false);

// device APIs are available
//
function onDeviceReady() {
    startWatch();
}

// Start watching the acceleration
//
function startWatch() {

    // Update acceleration every 3 seconds
    var options = { frequency: 300 };

    watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
}

// Stop watching the acceleration
//
function stopWatch() {
    if (watchID) {
        navigator.accelerometer.clearWatch(watchID);
        watchID = null;
    }
}

// onSuccess: Get a snapshot of the current acceleration
//
function onSuccess(acceleration) {
    var element = document.getElementById('accelerometer');
    element.innerHTML = 'Acceleration X: ' + acceleration.x         + '<br />' +
                        'Acceleration Y: ' + acceleration.y         + '<br />' +
                        'Acceleration Z: ' + acceleration.z         + '<br />' +
                        'Timestamp: '      + acceleration.timestamp + '<br />';
}

// onError: Failed to get the acceleration
//
function onError() {
    alert('onError!');
}

</script>
 <div id="accelerometer">Waiting for accelerometer...</div>

//watch id引用当前的“watch加速”`
var-watchID=null;
//等待加载设备API库
//
文件。添加的监听器(“deviceready”,OnDeviceraddy,false);
//设备API可用
//
函数ondevicerady(){
startWatch();
}
//开始观察加速度
//
函数startWatch(){
//每3秒更新一次加速度
var选项={频率:300};
watchID=navigator.Accelerator.watchAcceleration(onSuccess、onError、options);
}
//不要再看加速度了
//
功能秒表(){
if(watchID){
navigator.Accelerator.clearWatch(watchID);
watchID=null;
}
}
//onSuccess:获取当前加速度的快照
//
成功时的功能(加速){
var元素=document.getElementById('Accelerator');
element.innerHTML='Acceleration X:'+Acceleration.X+'
'+ “加速度Y:”+加速度.Y+”
”+ “加速度Z:”+加速度.Z+”
”+ '时间戳:'+acceleration.Timestamp+'
'; } //OneError:无法获取加速度 // 函数onError(){ 警报('onError!'); } 等待加速计。。。
我不认为重力是一个问题。你看到的轻微波动并不是那么不寻常,它们非常小,这是浮点数据。看起来三星给出了大致正确的结果。如果experia给了你一致的结果(总是测量重力为2.45,其他方向以相同的方式缩放),那么你可以为该模型修改它。您可以使用“Hello Cordova”示例应用程序进行双重检查吗?它还包括加速计读数。看看它是否与你的应用程序一致会很有帮助。@OldGeeksGuide我看过各种各样的编程,这是唯一有效的!我已经浏览了“Hello Cordova”示例应用程序的搜索。但是发现。。你能给我一个链接吗!当然它在github上,但也应该作为示例提供。启动新项目时,请选择“示例和演示”->“常规”,然后选择“HTML5+Cordova”选项卡,这应该是第二个示例。@OldGeeksGuide谢谢!我不知道存在于这个intel XDK中,我不认为重力是个问题。你看到的轻微波动并不是那么不寻常,它们非常小,这是浮点数据。看起来三星给出了大致正确的结果。如果experia给了你一致的结果(总是测量重力为2.45,其他方向以相同的方式缩放),那么你可以为该模型修改它。您可以使用“Hello Cordova”示例应用程序进行双重检查吗?它还包括加速计读数。看看它是否与你的应用程序一致会很有帮助。@OldGeeksGuide我看过各种各样的编程,这是唯一有效的!我已经浏览了“Hello Cordova”示例应用程序的搜索。但是发现。。你能给我一个链接吗!当然它在github上,但也应该作为示例提供。启动新项目时,请选择“示例和演示”->“常规”,然后选择“HTML5+Cordova”选项卡,这应该是第二个示例。@OldGeeksGuide谢谢!我不知道这个intel XDK中存在什么