2015-11-12 3 views

Répondre

3

que vous pouvez. l'accerlération que vous obtenez de l'événement devicemotion est en m/s².

var lastTimestamp; 
var speedX = 0, speedY = 0, speedZ = 0; 
window.addEventListener('devicemotion', function(event) { 
    var currentTime = new Date().getTime(); 
    if (lastTimestamp === undefined) { 
    lastTimestamp = new Date().getTime(); 
    return; //ignore first call, we need a reference time 
    } 
    // m/s²/1000 * (miliseconds - miliseconds)/1000 /3600 => km/h (if I didn't made a mistake) 
    speedX += event.acceleration.x/1000 * ((currentTime - lastTimestamp)/1000)/3600; 
    //... same for Y and Z 
    lastTimestamp = currentTime; 
}, false); 

devrait le faire. mais je ferais attention parce que l'accéléromètre dans les téléphones n'est pas si précis;)