动画D3地球(d3.geo.azimuthal)(Animating D3 globe (d3.ge

2019-08-01 05:40发布

我对D3的JavaScript libarary问题。 我想使用的方位全球,我想插入地球上的经度从和lattitude坐标点,并完全不使用鼠标事件在全球动画。

你是否认为这是可能的吗? 你能给我如何做到这一点一些好的建议?

干杯托尔

Answer 1:

为了让这个例子自身旋转,我实现:

var newX = 185;
var newY = -200;

function setupRotate() {
    m0= [0,0];
    o0 = projection.origin();
  }

  function rotate() { 
    if (m0) {
      var m1 = [newX, newY];//d3.event.pageX, d3.event.pageY],
          o1 = [o0[0] + (m0[0] - m1[0]) / 8, o0[1] + (m1[1] - m0[1]) / 8];
      projection.origin(o1);
      //console.log(m1);
      circle.origin(o1)
      refresh();
      //console.log("rotate");
      //console.log("newX: "+newX+"  newY: "+newY);
    }
  }

function rotateInterval() {
    var theRotationInterval = setInterval(rotateAndIncrement,1);
    function rotateAndIncrement(){
      //console.log("rotateAndIncrement");
      if (newX === 3)//3065) {
      {
       //console.warn("!!Reset Rotation!!");
       clearInterval(theRotationInterval);
       newX = 185;
       rotateInterval();
      }
      //console.log("newX: "+newX+"  newY: "+newY);
      else {
        newX++;
        rotate();
      }
    }
  }

我的工作加分的地图,它的复杂得多。 如果我不能得到它的工作,我会在这里发布了。



文章来源: Animating D3 globe (d3.geo.azimuthal)