Google maps api 3 Google Map API V3仅在长时间聚焦时缩放

Google maps api 3 Google Map API V3仅在长时间聚焦时缩放,google-maps-api-3,focus,zooming,Google Maps Api 3,Focus,Zooming,我在我的网站上使用的是谷歌地图api3,此时,如果你向下滚动页面,碰巧在谷歌地图上滚动(虽然无意),地图会聚焦并开始放大。据我所知,这是标准行为,不是bug或其他什么。我只是想改变一下 我希望有一种方法可以修改谷歌地图识别鼠标盖所需的时间,并在较长时间后赋予它聚焦/缩放功能?或其他一些选项使其获得焦点,即setTimeout(焦点,300)之类的。恐怕谷歌地图API没有提供任何方法来禁用默认的滚动行为。虽然可以取消地图中的缩放,但滚动事件不会到达页面 好的,我错过了滚轮映射选项,它正是您所需要的

我在我的网站上使用的是谷歌地图api3,此时,如果你向下滚动页面,碰巧在谷歌地图上滚动(虽然无意),地图会聚焦并开始放大。据我所知,这是标准行为,不是bug或其他什么。我只是想改变一下

我希望有一种方法可以修改谷歌地图识别鼠标盖所需的时间,并在较长时间后赋予它聚焦/缩放功能?或其他一些选项使其获得焦点,即
setTimeout(焦点,300)之类的。

恐怕谷歌地图API没有提供任何方法来禁用默认的滚动行为。虽然可以取消地图中的缩放,但滚动事件不会到达页面

好的,我错过了
滚轮
映射选项,它正是您所需要的。要实现您想要的行为:

  • 初始化地图时,将滚轮选项设置为false
  • 添加启动计时器的鼠标悬停事件侦听器
  • 超时时调用map.setOptions(options)
,滚轮选项设置为true
  • 添加将滚轮映射选项再次设置为false的mouseout事件侦听器
  • 实现所需行为的另一种方法是使用小技巧:

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

    例如,在设置地图选项时,可以通过设置scrollwheel:false来禁用滚轮缩放

    var options={
    zoom:3,
    center: new google.maps.LatLng(37.09, -95.71),
    mapTypeId: google.maps.MapTypeID.ROADMAp,
    scrollwheel:false
    
    }
    

    这将完全禁用地图的滚轮缩放,并纠正加载页面时出现的问题

    非常感谢。我试试看。看起来会有用的。