我试图用d3.js绘制地图,该地图有一部分城市地图偏移并绘制在不同的位置(地图插图)。是否有使用d3.js的工作示例?如果没有,我是否只使用不同的.json文件,创建一个DOM元素,正常加载主地图,并在加载插入的辅助数据后?
最好是一个有用的工作示例,但如果不存在,我会尝试按照我的想法进行编辑。
答案 0 :(得分:0)
我正在查看类似的任务,但尚未完成。我最初的想法是定义像albersUsa描述的here这样的复合投影。你可以从implementation看到它是如何工作的 - 它基本上定义了来自(lon,lat)=>的三个不同的投影。 (x,y),然后根据源点的纬度/经度选择使用哪个。
但是我不确定是否可以开箱即用,因为不同的投影会重叠 - 例如从一些遥远的地方到你的插入城市的道路会上升到未放大的城市的边缘,然后在放大视图的边缘重新开始。因此,您需要自定义剪裁,以便基本投影在放大的插入边界的边缘(在屏幕坐标中)而不是在(lon,lat)坐标中的插入边界的边缘处被剪切。实际上,地图的某个区域无法渲染,因为它已被展开的插图隐藏。