Javascript d3.js中地图上的直线

Javascript d3.js中地图上的直线,javascript,d3.js,Javascript,D3.js,我正在试验d3.js,我有一张世界地图,上面有代表不同城市的点。我想在城市之间画一条直线(ish),我正在使用LineString和d3.geo.path()进行这项工作。由于某些原因,一些线路没有直达目的地,正如您在下面的方框中所看到的那样,从欧洲到太平洋岛屿之一的线路形成了一条弧 问题似乎发生在路线偏离地图的一边而在另一边的地方。我解释了文档的一部分,说这条线是顺时针画的,所以我尝试了切换点的顺序,但它保持不变 我在找更像这样的东西 我可以在这个例子中看到mbostock正在使用grea

我正在试验d3.js,我有一张世界地图,上面有代表不同城市的点。我想在城市之间画一条直线(ish),我正在使用LineString和d3.geo.path()进行这项工作。由于某些原因,一些线路没有直达目的地,正如您在下面的方框中所看到的那样,从欧洲到太平洋岛屿之一的线路形成了一条弧

问题似乎发生在路线偏离地图的一边而在另一边的地方。我解释了文档的一部分,说这条线是顺时针画的,所以我尝试了切换点的顺序,但它保持不变

我在找更像这样的东西

我可以在这个例子中看到mbostock正在使用greatArc,但它在文档中也说这是不必要的,而且没有关于big arc的文档,因为它似乎已经被弃用了


有没有办法防止这种电弧产生?

要画一条直线,请使用:

d3.svg.line()
您必须使用您正在使用的任何投影来转换坐标

var trcoords_o = projection(r.coordinates[0]);
var trcoords_d = projection(r.coordinates[1]);
这似乎也不允许你画一条线,离开地图的一边,进入另一边