放大/动画地图或更改viewBox

时间:2013-03-01 18:04:20

标签: javascript svg d3.js

我有这个http://bl.ocks.org/nkhine/raw/3150901/,如果你点击一个国家,代码重新渲染地图(只有美国,英国和阿富汗的拓扑文件存在)

我被困在如何为“国家/地区”制作动画,以便它“移动”到屏幕中心并使地图适合用户的视口?

我正在做的是淡出,然后删除id ='countries'https://gist.github.com/nkhine/3150901#file-client-js-L120的'svg g'元素,然后添加id ='country',我在其中绘制国家/地区提供topo文件。

我试图移除整个svg并重新创建它,但这并不“感觉”是正确的方法!

在不重绘整个SVG的情况下改变viewBox的正确方法是什么?

任何建议非常感谢

1 个答案:

答案 0 :(得分:0)

我相信您需要更改.on(“点击”)功能,以使用已点击的国家/地区的质心来翻译图片,请参阅此处的d3示例http://bl.ocks.org/mbostock/2206590