我有一张美国的简单地图,我试图绘制一些测试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/
答案 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/