【发布时间】:2013-09-11 19:45:30
【问题描述】:
我有一个可缩放的世界地图,上面有一个点(实际上有多个点来自一个单独的资源,但我已经简化了它)。 The block is here.
当我尝试放大时,它会跳转到某个比例,然后通常不允许再进行任何缩放动作。我已经为transition、scale 和scaleExtent 尝试了各种不同的值,这些值取自this example 和this one(后者与我想要的整体非常接近),但没有任何效果。对于最小缩放,它似乎非常接近height/6 的实际尺寸,但仍然表现不佳。
我怀疑主要问题出在scaleExtent。我实际上希望最小缩放为地图的大小,因此除非放大,否则无法平移。
另一个问题是,正如您在 bl.ock 中看到的那样,当您缩放时圆圈会消失。我希望圆圈保持位置和大小(所以当我缩放时它不会变大)。
谁能帮忙
- 地图上的缩放问题,所以地图最小缩放是实际大小的地图,我可以放大到大约6倍
- 除非放大,否则防止地图平移
- 维护地图上圆圈的大小和位置
【问题讨论】:
-
您应该考虑为此使用the zoom behavior。您可以在它之上实现所有约束。
-
@LarsKotthoff 我正在使用缩放行为
d3.behavior.zoom()。早期,我在主要组上使用了缩放,它更简单且效果很好,但是我需要能够操纵实际形状,但我无法找到这样做的方法。
标签: javascript svg d3.js