我怎样才能将地图 - 如果可以的话 - 顺时针旋转约15-20度,这看起来就像我在地图集中看到的中东地图?
直观地说,.rotate看起来它应该这样做,但我尝试插入不同的值,它只是'uncentres'地图.
我相信,D3代码的重要部分是:
var projection = d3.geo.albers()
.center([49.7, 27.4])
.rotate([0, 0, 0])
.parallels([12.6, 40])
.scale(800)
.translate([width / 2, height / 2]);
Run Code Online (Sandbox Code Playgroud)
(1)

谢谢.
(2)

我正在尝试复制地图,看起来像这样(2) - 只是因为它是人们熟悉在常规地图集中看到的.
不知道你到目前为止尝试了什么,projection.rotate()我仍然认为这种方法会产生预期的结果.例如,在您的示例中指定的LAT = 49.7N,LON = 27.4E的顺时针旋转20度可以通过以下方式完成:
projection.rotate([-49.7,-27.4,-20])
Run Code Online (Sandbox Code Playgroud)
我设立了一个Plunk来展示结果.
如果您不必使用Albers投影,可能还有其他选项可以提供更符合您需求的结果
人们熟悉在常规地图册中看到的东西.
我在三个地图集中查看了阿拉伯半岛,使用了一个看起来像你想要的输出的equirectangular投影:
var projection = d3.geo.equirectangular()
.rotate([-49.7,-27.4])
Run Code Online (Sandbox Code Playgroud)
你只需要在LAT = 49.7N,LON = 27.4E的中心,.rotate([-49.7,-27.4])无需进一步滚动投影,即你不会在数组中提供第三个元素rotate().请参阅我更新的Plunk.对我来说,这看起来就像我在地图集中看到的那样.