2

したがって、前述のように、ループが終了するのを待つのではなく、forループで変換を強制的に実行したいと思います。これを実行したい理由は、d3データの配列のインデックスを呼び出そうとしているためです。私の最終的な目標は、3つのノードがGPS座標のパスをたどり、jsonがそのように配置されるようにすることです{ID:1 [[lat、lon、time]、[lat2、lon、time2]]、ID:2 ...}したがって、私は変換内のタイムスキャンプをチェックしようとしており、最後のエントリのみを受信して​​います。私はこれを使用しており、ポリマップでオーバーレイしています。これが私が扱っているコードのチャンクです。

for(var i = 1; i < layers.length -1; i++){
        var t = layers[i].transition().duration(3000);
        var l = 0
        var j = 0
        var help = map.extent()[0].lon;
        var help2 = map.extent()[1].lon;
        var scale = (templon1 - templon2) / (help - help2); 

        t.selectAll(".t1")
        .attr("transform",function(d){
            x = map.locationPoint({lon: d[0][1], lat: d[0][0]});
            d = map.locationPoint({lon: d[5000][1], lat: d[5000][0]});
            l = d.x - x.x
            j = d.y - x.y
            return ("translate(" + l / scale + "," + j / scale + ")"); 

        });
        t.selectAll(".t2")
        .attr("transform",function(d){
            x = map.locationPoint({lon: d[0][1], lat: d[0][0]});
            d = map.locationPoint({lon: d[5000][1], lat: d[5000][0]});
            l = d.x - x.x
            j = d.y - x.y
            return ("translate(" + l / scale + "," + j / scale + ")"); 
        });
    }
4

0 に答える 0