Javascript 使用d3如何在我的地球仪动画上创建平滑过渡?
我正在使用D3.js、Javascript,特别是函数Javascript 使用d3如何在我的地球仪动画上创建平滑过渡?,javascript,d3.js,Javascript,D3.js,我正在使用D3.js、Javascript,特别是函数D3.geoporthographic来创建地球仪 我已经创建了一个地球仪,现在我正试图将它旋转到某些国家。 e、 g.从“英国”开始,然后轮换到“中国” 我每隔一段时间做这件事 d3.interval( () => { projection.rotate(coOrdinates) path = d3.geoPath().projection(projection) map.selectAll("pa
D3.geoporthographic
来创建地球仪
我已经创建了一个地球仪,现在我正试图将它旋转到某些国家。
e、 g.从“英国”开始,然后轮换到“中国”
我每隔一段时间做这件事
d3.interval( () => {
projection.rotate(coOrdinates)
path = d3.geoPath().projection(projection)
map.selectAll("path")
.attr("d", path)
})
它的工作,这是伟大的,但过渡到该国是即时的,它不是平稳的
如何包括到每个国家/地区的平稳过渡?您可以创建过渡和
tween
之间的rotate
属性,包括:
其中,点
是旋转的起点
d3.transition()
.duration(1000)
.tween("rotate", function() {
const r = d3.interpolate(point, coOrdinates);
return function(t) {
projection.rotate(r(t));
};
})