2017-05-11 48 views
1

我美国的一个简单的地图,我想纬度绘制一些测试点长。我发现this block解释了这个过程,但是我很难将语法转换为v4。即使我在块中运行确切的代码,也会引发相同的错误。绘图纬度/龙在地图上 - D3.js 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

在您链接的是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/

+0

谢谢,@Gerardo。代码运行良好,然而,代码变量'aa'中列出的纬度/长度被放置在旧金山。当我运行代码时,它将它放在犹他州西部。我发现我可以操纵'projection.scale(1000).center([ - 106,37.5])',它会移动这个点。我猜我需要编辑这个到一些正确的价值。我只是不知道它是什么。下面是目前小提琴:[https://jsfiddle.net/Lv5knc0n/](https://jsfiddle.net/Lv5knc0n/) –

+0

好吧,我回答**你的两个帖子的**问题(需要什么样的变化使用D3 v4和为什么小提琴不工作)。看起来你有更多的问题!对不起,这太多了,我有一个不回复有几个问题的帖子的政策。 –

+2

虽然你总是可以做一个*新的问题。这样,每个帖子就会出现1个问题(实际上,对于OP询问几个问题的问题,人们可以近距离投票为*太宽泛)。 –