Google Map API V3仅在长时间对焦时缩放

Ben*_*nno 7 focus zoom google-maps-api-3

我正在我的网站上使用谷歌地图api3,如果你正在向下滚动页面,并且碰巧在谷歌地图上滚动(虽然不打算),地图会聚焦并开始放大.据我所知,这是标准行为,而不是错误或任何东西.我只是想以某种方式改变它......

我希望有一种方法可以修改谷歌地图识别鼠标悬停所需的时间,并在较长时间后赋予其焦点/缩放功能?或者其他一些让它获得焦点的选择,即setTimeout(focus, 300);什么.

Tom*_*mik 8

我担心Google Maps API不提供任何方法来禁用默认滚动行为.虽然您可以取消放大地图,但滚动事件无法到达页面.

好的,我错过了scrollwheel地图选项,它完全符合您的需求.为了达到理想的行为:

  • 初始化地图时将滚轮选项设置为false.
  • 添加启动计时器的mouseover事件监听器.
  • map.setOptions(options)使用scrollwheel选项设置为true的超时调用时.
  • 添加mouseout事件侦听器,再次将scrollwheel map选项设置为false.

实现所需行为的另一种方法是使用一个小技巧:

  • 创建一个透明的div并将其放在地图上.现在div得到滚动事件,页面表现像往常一样.
  • 在div上调用onmouseover事件时启动计时器.
  • 超时时隐藏div.
  • 将mouseout事件侦听器添加到地图以再次显示div.