javascript - 像指南针一样旋转时的旋转 webkit 问题

标签 javascript webkit compass-geolocation

这是我的简单函数('mycompass' 是我体内的一个 div)

function watchCompass() {

    var suc = function(a){       
        var r =a.magneticHeading;  
        document.getElementById('mycompass').style.webkitTransform  = "rotateZ("+-r+"deg)";  
    };
    var fail = function(){};
    var opt = {};
    opt.frequency = 50;
    timer = navigator.compass.watchHeading(suc,fail,opt);
}

出于某种原因,当罗盘“轮子”从 0 度到 360 度完成完整旋转时,它会回到 0 而不是“虚拟”361 度......等等。无法理解从 0 度到 360 度没有区别...

我不知道如何计算让轮子顺时针和逆时针顺时针旋转的方法

提出这个问题的另一种方式是:

如何将我的对象以逆时针方向而不是顺时针方向旋转,例如,从 15 度旋转到 270 度?我怎样才能告诉我的脚本那个谷?

最佳答案

这是我的解决方法,但当车轮度数 == -360 或 360 时我仍然有问题

var angle = 0;
var lastAngle = 0;




   function watchCompass() {

          var suc = function(a){
          var angle = roundNyc(a.magneticHeading);

       l1 = angle -  lastAngle;
       l2 = 360 - l1;

      if( Math.abs(l1) >=  Math.abs(l2)){ 

       r =   (lastAngle - l2) ; 

      }else{

       r =  angle ; 

      }    

       lastAngle = r;     
       l1 = 0;
       l2 = 0;

   document.getElementById('mycompass').style.webkitTransform = 'rotateZ(' + -r + 'deg)';

          };
          var fail = function(){};
          var opt = {};
          opt.frequency = 50;
          timer = navigator.compass.watchHeading(suc,fail,opt);
        } 

关于javascript - 像指南针一样旋转时的旋转 webkit 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2349104/

相关文章:

javascript - 如何知道 <div> 标签的滚动事件结束

javascript - 让突变观察者更快、更少占用资源?

javascript - Angular 缓存或加载 http 请求的正确方法

html - 将 CSS 框移动到图像的下方

iphone - 显示指向特定位置的箭头

mkmapview - 如何将 MKMapView 置于指南针模式?

iphone - GPS、指南针航向和加速计之间,哪个消耗的电池电量最多?

javascript - 如何以 Angular 检查表单的一些必填字段的有效性?

javascript - 刷新页面和在 webkit 浏览器中输入页面有什么区别吗?(棘手)

html - Webkit 背景