我正在尝试通过选择名为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]; });
我知道这是不可能的,因为功能(d)我一次得到所有坐标。它应该像track [0] .lon。我已经尝试将“轨道”替换为“轨道”(轨道是数据源的名称)“d”,但这不起作用......