Maps 在d3.js中,如何将地图居中于本初子午线以外的位置?

Maps 在d3.js中,如何将地图居中于本初子午线以外的位置?,maps,d3.js,Maps,D3.js,这是一个类似于(为ggplot2回答的问题),(为R回答的问题)的后续问题(仍在寻找答案) 我怎么能使用迈克·博斯托克(Mike Bostock)最近的约束缩放图,但却以太平洋为中心而不是非洲为起点 像这样。。。 显然,只需调整代码中的.translate([0,0])值即可移动映射,但没有允许映射按上述方式显示的“包装” 我确信必须有一个简单的方法来实现这一点,因为这似乎是一个基本的能力,我只是看不到或找不到解决方案。好的,答案最终非常明显,非常感谢那些让我走上正确道路的人 我遇到的问题是假

这是一个类似于(为ggplot2回答的问题),(为R回答的问题)的后续问题(仍在寻找答案)

我怎么能使用迈克·博斯托克(Mike Bostock)最近的约束缩放图,但却以太平洋为中心而不是非洲为起点

像这样。。。

显然,只需调整代码中的
.translate([0,0])
值即可移动映射,但没有允许映射按上述方式显示的“包装”


我确信必须有一个简单的方法来实现这一点,因为这似乎是一个基本的能力,我只是看不到或找不到解决方案。

好的,答案最终非常明显,非常感谢那些让我走上正确道路的人

我遇到的问题是假设我需要使用
.translate()
函数将贴图移动到正确的位置,而实际上
.translate()
函数只是移动返回贴图上的点。换句话说,它会把你所拥有的东西直接翻译到另一个地方(duh!)

我应该做的是使用
.rotate
函数,通过使用如下函数围绕地图的经度旋转地图

var projection = d3.geo.mercator()
    .translate([0, 0])
    .scale(width)
    .rotate([-180,0]);
这只是简单地环绕地图,并根据需要提供完全控制。
一个充分发挥作用的例子是。

好的,答案在最后非常明显,非常感谢那些让我走上正确道路的人

我遇到的问题是假设我需要使用
.translate()
函数将贴图移动到正确的位置,而实际上
.translate()
函数只是移动返回贴图上的点。换句话说,它会把你所拥有的东西直接翻译到另一个地方(duh!)

我应该做的是使用
.rotate
函数,通过使用如下函数围绕地图的经度旋转地图

var projection = d3.geo.mercator()
    .translate([0, 0])
    .scale(width)
    .rotate([-180,0]);
这只是简单地环绕地图,并根据需要提供完全控制。
一个功能完整的示例是。

您提到的d3示例调用缩放对象上的
.translate()
。我没有尝试过这个方法,但是我认为,相反,在投影对象上调用
.translate()
就可以了。但我不知道这将如何影响缩放行为。我不太确定我是否正确理解您。我调整的翻译在
var=projection
部分。我认为这个建议是有价值的,但我尝试了很多变体,在不同的领域添加了
.translate()
,但没有成功。谢谢你的想法。听起来方向不错。您提到的d3示例调用缩放对象上的
.translate()
。我没有尝试过这个方法,但是我认为,相反,在投影对象上调用
.translate()
就可以了。但我不知道这将如何影响缩放行为。我不太确定我是否正确理解您。我调整的翻译在
var=projection
部分。我认为这个建议是有价值的,但我尝试了很多变体,在不同的领域添加了
.translate()
,但没有成功。谢谢你的想法。这听起来是个不错的方向。