- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道如何使用 Google Maps API 平滑地放大动画。
我有两分,一分在中国,一分在法国。当我放大中国时,点击法国按钮。我希望它逐渐平滑缩小,一次缩放一个级别。当它被缩小时,它应该平移到新位置,然后在新位置上放大一个缩放级别。
我怎样才能做到这一点?
最佳答案
您需要 zoomOut
设置连续缩放参数进行缩放的方法和 panTo
方法来平滑平移到新的中心点。
您可以收听 zoomEnd
和 moveEnd
map 对象上的事件将您的 zoomOut
链接在一起, panTo
和 zoomIn
方法。
编辑:
因此,在针对这个问题实现示例的过程中,我发现 doContinuousZoom
参数在 ZoomIn
和 ZoomOut
(或只是 EnableContinuousZoom
在 map 上)并没有按预期工作。缩小时它可以正常工作,如果切片在缓存中(这是重要的一点,如果切片没有被缓存,那么它就不可能获得你想要的平滑动画)然后它会做一些很好的缩放用于模拟平滑缩放动画的图 block ,并在每个缩放步骤中引入约 500 毫秒的延迟,因此您可以异步执行(与 panTo
不同,您将在我的示例中看到,我使用 setTimeout 来调用异步)。
不幸的是,zoomIn
并非如此。方法,它只是跳转到目标缩放级别,没有每个缩放级别的缩放动画。我没有尝试明确设置谷歌地图代码的版本,所以这可能是在以后的版本中修复的问题。无论如何,这里是sample code这主要是javascript箍跳,而不是谷歌地图API:
http://www.cannonade.net/geo.php?test=geo2
因为这种方法似乎有点不可靠,所以我认为显式地对 setZoom 进行异步处理会更有意义(与平移的东西相同)。
编辑2:
所以我现在明确地进行异步缩放(使用 setTimeout
一次缩放)。我还必须在每次缩放发生时触发事件,以便我的事件链正确。似乎正在同步调用 zoomEnd 和 panEnd 事件。
在 map 上设置 enableContinuousZoom 似乎不起作用,所以我猜想用参数调用 zoomOut、zoomIn 是让它工作的唯一方法。
关于javascript - 谷歌地图 zoomOut-Pan-zoomIn 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/816100/
我有一个动态生成的 svg 图像,我正在使用 Ariutta 的 svg-pan-zoom 插件。当我双击 svg 图像时,我设置 pan.x = centerOfScreenX 和 pan.y =
我发现了一个名为 raphael-pan-zoom 的插件,我用它来放大和缩小我论文中的 raphaeljs 元素,缩放效果很好,但是当我想将论文向左、向右移动时,上或下我没有成功。我在“raphae
我有 x 轴的缩放和平移功能,但我想为 y 轴添加平移功能。我尝试使用 d3.behavior.zoom 和 d3.event.translate[1] 来获取 y 平移值并使用它,但是当缩放发生时平
我正在使用平移手势识别器,我需要检测初始触摸点才能采取行动。我正在使用以下代码; @IBAction func panDetected(sender: UIPanGestureRecognizer)
我试图禁止用户使用鼠标平移,但仍然允许使用按键平移。如果使用controls.enablePan = false;,我无法使用按键进行平移。但是,如果我尝试重新绑定(bind)鼠标按钮,它会强制我将鼠
我正在使用平移手势识别器进行一些测试。设置非常简单,我有一个 20x20 的框 View ,并通过相对布局进行设置。平移手势的处理程序 switch (args.StatusType)
我有包含任何文本的字符串。它可以是这样的 - “abcdef 123456789521 zxcvb”,和 - “45651256”,和 - “asdad 564654 sddsf 4”。我想在文本 P
我正在使用平移手势识别器进行一些测试。设置非常简单,我有一个 20x20 的框 View ,并通过相对布局进行设置。平移手势的处理程序 switch (args.StatusType)
给定一段 P 单词,其中包含一些 PAN 卡号。计算 P 中不同的有效 PAN 卡号的数量。 有效的 PAN 卡号是 10 个长度的字母数字单词,格式为:“AAAAA1111A” A 表示任意英文大写
我正在尝试使用 iOS7 的自定义转换,以便让用户通过一种“平移”效果在 View Controller 之间导航。 如图所示: 我需要背景图案在 vc 的边界之外继续,这样当用户从 vc1 移动到
我试图阻止我的 UILabel 向下移动到 CONTROLTOPOFFSET 以下。 CONTROLTOPOFFSET = (UIScreen.mainScreen().bounds.size.hei
我目前正在编写一个简单的 3d 声音系统,但我遇到了困难。 问题是:我在空间中有一个点,声音来自那里,当然我还有听者,他的点和方向。 距离不是问题,它工作得很好,但是当我想计算声音的声像(左/右多少)
我正在使用 Hammerjs 的 jQuerys 插件。 $('.grab').hammer().on('pan', function(ev){console.info(ev)); //(44) pa
我正在使用ariutta svg-pan-zoom库(https://github.com/ariutta/svg-pan-zoom)。 当用户单击按钮时,我试图在(x:1000,y:20)平移到特定
我正在主视图上安装 UIPanGestureRecognizer,如下所示: panGesture = UIPanGestureRecognizer(target: self, action: #
我正在尝试从我的 iOS 应用程序中创建一个蓝牙个人区域网络 (PAN)。基于MFi FAQ和 HT3647 ,应该可以使用蓝牙 PAN 与其他(非 iOS 设备)通话。但是,我找不到有关如何在 iO
我正在从 PAN 卡中检索 PAN 号码。当我抓取 pan 编号时,有时它在几个数字之间有一些空格,例如 DWKP K3344E,其中实际的 PAN 编号表达式为 ABCDE1234F。我想在正则表达
在 Leaflet JS 库中,它说: Pans the map to a given center. Makes an animated pan if new center is not more
我想知道是否有一种方法可以将我的 scrollView 推得比 "android:windowSoftInputMode="adjustPan" 更高。它看起来有点局促,就像现在这样。enter im
我对这里阻止重置的原因感到困惑。在 resetZoom() 函数运行后,在我平移 svg 之前什么都没有发生,然后它迅速回到原点。知道为什么会发生这种情况吗? 在这里 fiddle :https://
我是一名优秀的程序员,十分优秀!