我正在尝试使用D3将变焦功能合并到Mike Bostock的旋转地球仪上。只要地球正在旋转,或者在“动画”中,缩放功能就像魅力一样。状态。然而,我遇到了以下问题:
(1)当我滚动时,一旦有mousedown甚至变焦功能被禁用,这不是所希望的效果。我已经缩小了问题范围,我认为出现这种情况是因为第70行的代码如下:done = true;
(2)缩放功能已禁用所有有趣的翻译效果(例如gnomonic,等距等),这也不是理想的效果。
我有一个工作小提琴演示了遇到的问题:http://jsfiddle.net/Guill84/8sru2573/1/
答案 0 :(得分:1)
缩放后动画正在刷新图形。当它关闭时你需要明确地执行此操作(我还清理了缩放,这是一个错误):
function move() {
if(d3.event){
var scale = d3.event.scale;
var origin = [d3.event.translate[0] * -1, d3.event.translate[1]];
projection.scale(scale);
backgroundCircle.attr('r', scale);
if (done) refresh(); //<-- explicit refresh
}
}
更新fiddle。