【问题标题】:Straight lines on map in d3.jsd3.js中地图上的直线
【发布时间】:2016-07-21 19:11:33
【问题描述】:

我正在试验 d3.js,我有一张世界地图,上面有代表各个城市的点。我想使用 LineString 和 d3.geo.path() 在我正在做的城市之间绘制直线(ish)线。出于某种原因,有些线路并不直接通往目的地,正如您在下一个区块中看到的那样,从欧洲到太平洋岛屿之一的线路形成了一个弧线。

http://bl.ocks.org/whatsthebeef/6360703

问题似乎出现在线路偏离地图一侧和另一侧的位置。我解释了文档的一部分,说这条线是顺时针绘制的,所以我尝试切换点的顺序,但它保持不变。

我正在寻找类似的东西

http://mbostock.github.io/d3/talk/20111116/airports.html

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

任何想法如何防止这种电弧放电?

【问题讨论】:

    标签: javascript d3.js


    【解决方案1】:

    要画一条直线,请使用:

    d3.svg.line()
    

    你必须使用你正在使用的任何投影来转换你的坐标

    var trcoords_o = projection(r.coordinates[0]);
    var trcoords_d = projection(r.coordinates[1]);
    

    这似乎也不允许您绘制一条离开地图一侧并进入另一侧的线。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多