6

d3 JavaScript ライブラリについて質問があります。方位地球儀を使用したいのですが、地球上の経度と緯度の座標からポイントを挿入し、マウス イベントを使用せずに地球をアニメーション化したいと考えています。

これは可能だと思いますか?これを行う方法についていくつかの良いヒントを教えてもらえますか?

乾杯トール

4

1 に答える 1

5

サンプルを独自に回転させるために、次のように実装しました。

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();
      }
    }
  }

マップにポイントを追加する作業を行っていますが、これははるかに複雑です。うまくいかない場合は、ここに投稿します。

于 2012-10-28T03:41:15.853 に答える