为了方便起见,这里是我所拥有的JSFiddle。
TRY
在FireFox(版本35.0.1)中平移地图。单击并按住地图上的任意位置,然后快速左右移动它。平移运动应该快速平稳。
现在在Chrome中尝试相同的操作,你会发现它不是那么顺利!它有点生涩/迟钝。我发现IE和Opera的最新版本也很滞后。
顺便说一句,如果你注释掉这个样式块,那么行为会突然平滑并且不再是迟钝的!你当然不会得到一张漂亮的地图。
#map path {
fill: #C9DCC9;
stroke: #066860;
}
那是什么?
首先,如果有人可以在他们的PC上确认这种行为,我将不胜感激。我在Windows 8.1上有所有最新更新。
然后,为什么在用D3完成的其他地图上发生这种行为?例如This one表现得很顺利!是否与多边形的复杂性有关?
答案 0 :(得分:0)
为了解决这个问题,我简化了地图的路径。我在TopoJson上使用了-simplification
函数。
在简化路径之后,Chrome,Firefox,Opera和IE 11中的地图平移和缩放非常流畅。
TopoJson是一个节点包,因此您需要为TopoJson安装节点和许多其他依赖项,以使其在Windows上运行。如果您很幸运,它将在Windows上为您工作。
我运气不好所以我去创建了一个运行Ubuntu的虚拟机,在那里,节点设置太容易了,我设法在5分钟内做了我想做的事情。与试图在Windows上运行的日子相比。
无论如何,希望这会有所帮助。 :)