【发布时间】:2014-06-12 08:56:45
【问题描述】:
我正在尝试使用 d3.js 绘制地图,该地图具有城市地图偏移的一部分并绘制在不同的位置(地图插图)。是否有使用 d3.js 的工作示例?如果不是,我是否只使用不同的 .json 文件,创建一个 DOM 元素,正常加载主地图,然后加载插图的辅助数据?
最好有一个工作示例会有所帮助,但如果不存在任何内容,我将尝试编辑我发现的内容。
【问题讨论】:
标签: javascript d3.js maps
我正在尝试使用 d3.js 绘制地图,该地图具有城市地图偏移的一部分并绘制在不同的位置(地图插图)。是否有使用 d3.js 的工作示例?如果不是,我是否只使用不同的 .json 文件,创建一个 DOM 元素,正常加载主地图,然后加载插图的辅助数据?
最好有一个工作示例会有所帮助,但如果不存在任何内容,我将尝试编辑我发现的内容。
【问题讨论】:
标签: javascript d3.js maps
我正在寻找类似的任务,但尚未完成。我最初的想法是定义一个复合投影,如 albersUsa 描述的here。你可以从implementation 看到它是如何工作的——它基本上定义了来自 (lon,lat) => (x,y) 的三个不同的投影,然后根据源点的纬度/经度选择要使用的投影。
但我不确定这是否适用于插图,因为不同的投影会重叠 - 例如,从某个遥远的地方到您的插图城市的道路会延伸到未放大的边缘城市,然后在放大视图的边缘重新启动。因此,您需要自定义剪辑,以便基本投影在放大的插入边界的边缘(在屏幕坐标中)被剪辑,而不是在(经度,纬度)坐标中的插入边界的边缘。实际上,地图的一个区域没有被渲染,因为它被展开的插图隐藏了。
【讨论】: