放大/动画地图或改变viewBox

enlarge / animate map or change viewBox

本文关键字:改变 viewBox 地图 动画 放大      更新时间:2023-09-26

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

我被困在如何动画"国家",使它"移动"到屏幕的中心,也适合地图到用户的视窗?

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

我试图删除整个SVG并重新创建它,但这并不是"感觉"是正确的方法!

改变viewBox而不必重新绘制整个SVG的正确方法是什么?

如有任何建议,不胜感激

我认为您需要更改您的。on("click")函数,以使用已点击的国家的质心来翻译图像,请参阅此处的d3示例http://bl.ocks.org/mbostock/2206590。