在地图上绘制Lat / Long - D3.js v4

时间:2017-05-11 02:47:40

标签: javascript d3.js topojson

我有一张美国的简单地图,我试图绘制一些测试Lat Long积分。我发现this block解释了这个过程,但我在将语法转换为v4时遇到了问题。即使我在块中运行确切的代码,它也会抛出相同的错误。

我可以看到d3.geoMercator()类型的“变平”'地图。这需要吗?这似乎微不足道,但我喜欢美国地图没有这个的自然曲率。

好奇正确的方法是什么,以及是否有必要使用某些代码。特别是这部分:

  projection //Added from block -- What is this doing?
    .scale(1000) //Added from block
    .center([-106, 37.5]) //Added from block

我添加了破旧的代码,我在添加的代码中添加了评论:https://jsfiddle.net/fettww66/2/

1 个答案:

答案 0 :(得分:1)

在您关联的bl.ock中,您只需两次更改即可使其与D3 v4一起运行:

  
      
  • var projection = d3.geo.mercator()var projection = d3.geoMercator()

  •   
  • var path = d3.geo.path()var path = d3.geoPath()

  •   

以下是使用D3 v4更新的bl.ocks:http://bl.ocks.org/anonymous/d0b530924ef2aae3436840a1dbb3a39f

关于你的小提琴,问题非常简单:你正在使用已经预测的 JSON。只需将投影设置为null

即可
.projection(null)

这是更新的小提琴:https://jsfiddle.net/vypu9qwr/