在我的应用程序中,我需要定期加快或减慢D3正交地球仪的旋转速度。现在,我通过调用以下函数来做到这一点:
rotateMap(velocity = 0.01) {
const land = topojson.feature(window.world, world.objects.land);
window.rotationTimer = d3.timer(function(elapsed) {
projection.rotate([velocity * elapsed, 0]);
window.topoJsonPath.attr("d", geoPath(land));
});
}
rotateMap(0.5)
该函数接受速度以更改地图的速度。当我以更快的速度通过时,地球会加速,但是没有平稳的加速度,并且过渡是生涩的。
在D3中是否有一种方法可以平滑地调整地球旋转的速度?我已经研究了D3 Geo文档,但没有找到任何适用的方法。