我试图通过始终选择名为 track.json 的数据的 2 个坐标在 d3 geojson 地图上绘制路径(轨道)。这是该数据的一部分:
{"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]; });
我知道这是不可能的,因为使用 function(d) 我可以一次获得所有坐标。它应该类似于 track[0].lon。我已经尝试替换“d”的“track”(track是数据源的名称),但这也不起作用......