我正在尝试使用d3.js绘制地图,该地图具有部分城市地图偏移并绘制在其他位置(地图插图)。是否有使用d3.js的有效示例?如果没有,我是否将使用其他.json文件,创建一个DOM元素,正常加载主地图,然后在加载插图的辅助数据之后?

最好有一个可行的示例会有所帮助,但是如果不存在任何示例,我将尝试编辑得出的结论。

最佳答案

我正在寻找类似的任务,但尚未完成。我最初的想法是定义一个像albersUsa描述的here那样的复合投影。您可以从implementation看到它的工作原理-它基本上从(lon,lat)=>(x,y)定义了三个不同的投影,然后根据源点的lat / lon选择要使用的投影。

但是我不确定这是否会适用于插图,因为不同的投影会重叠-例如,从某个遥远的地方到您的插图城市的道路会到达未放大城市的边缘,并且然后在放大视图的边缘重新开始。因此,您需要自定义裁剪,以便基本投影在放大的插入边界(在屏幕坐标中)的边缘被剪切,而不是在(lon,lat)坐标中的插入边界的边缘被剪切。实际上,地图的某个区域没有被渲染,因为它被扩展的插图隐藏了。

关于javascript - d3.js map 插图(缩放),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23329252/

10-12 01:58