D3.js d3 geojson创建路径:选择坐标索引

D3.js d3 geojson创建路径:选择坐标索引,d3.js,geojson,topojson,mercator,D3.js,Geojson,Topojson,Mercator,我试图在d3 geojson地图上绘制pathtrack,方法是始终选择我的数据的两个坐标,称为track.json。以下是部分数据: {"id":"B", "hour":18, "lat":50.900999, "lon":4.485574, "class": 2}, {"id":"C", "hour":12, "lat":13.775091, "lon":100.622656, "class": 2}, {"id":"D", "hour":12, "lat":35.771987, "lon"

我试图在d3 geojson地图上绘制pathtrack,方法是始终选择我的数据的两个坐标,称为track.json。以下是部分数据:

{"id":"B", "hour":18, "lat":50.900999, "lon":4.485574, "class": 2},
{"id":"C", "hour":12, "lat":13.775091, "lon":100.622656, "class": 2},
{"id":"D", "hour":12, "lat":35.771987, "lon":140.39285, "class": 2},
现在我正试图获取坐标并在我的地图上建立一条路径它是一个世界旅行者的轨迹,通过一次获取所有坐标,它实际上是有效的:

  var pathLine = d3.svg.line()
    .interpolate("polygon")
    .x(function(d) { return projection([d.lon, d.lat])[0]; })
    .y(function(d) { return projection([d.lon, d.lat])[1]; });
但是我希望通过单击按钮一个接一个地显示路径

document.getElementById("myLink").onclick = function(){
var pathLine = d3.svg.line()
    .interpolate("polygon")
    .x(function(d) { return projection([d[0].lon, d[0].lat])[0]; })
    .y(function(d) { return projection([d[1].lon, d[1].lat])[1]; });

我知道这是不可能的,因为使用函数D,我一次获得所有坐标。它应该类似于轨道[0].lon。我已经试着用track代替d数据源的名称track,但这也不起作用

为什么不创建路径并将它们全部设置为不可见,然后通过运行时通过JQuery显示它们呢?容易得多=