在信息窗口中使用 Google Maps v3 禁用鼠标滚轮缩放

Posted

技术标签:

【中文标题】在信息窗口中使用 Google Maps v3 禁用鼠标滚轮缩放【英文标题】:Disable mouse scroll-wheel scaling with Google Maps v3 while in an infowindow 【发布时间】:2013-01-04 17:23:14 【问题描述】:

我一直在尝试在我的地图上禁用鼠标滚轮缩放,但它似乎不起作用(虽然我很确定它曾经起作用,但可能有所改变)。

无论如何,当用户单击地图标记时,我会出现那些自定义信息窗口,有时它们有足够的内容以显示滚动条。我想确保当人们滚动时,信息窗口的内容会滚动并且地图保持不变。

我的代码(咖啡脚本):

# Disable map Dragging when cursor enters infoBox div
$(document).on "mouseenter", ".infobox-content", () ->
  googleMap.setOptions( draggable:false, scrollwheel:false )

$(document).on "mouseleave", ".infobox-content", () ->
  googleMap.setOptions( draggable:true, scrollwheel:true )

我确保事件在适当的时候被触发并且事件被正确设置,但它仍然不起作用。

其他类似的问题告诉我做我正在做的事情:

How to disable mouse scroll wheel scaling with Google Maps API Google Maps API v3 won't disable scroll wheel after map loads

【问题讨论】:

【参考方案1】:

这对我有用(FF、Chrome):

infowindow.open(map, marker);
$('.gm-style-iw').on('wheel', function (e) 
    e.stopPropagation();
);

每次调用infowindow.open();时都应该绑定事件监听器

【讨论】:

【参考方案2】:

我不知道这是否是解决方案,但它似乎已经解决了。

我没有为jquery-rails 指定gem 版本,并注意到jQuery 的版本现在是1.9。将版本指定为~> 2.1.4 后,jQuery 现在已修复为 1.8,我的问题就消失了。

【讨论】:

以上是关于在信息窗口中使用 Google Maps v3 禁用鼠标滚轮缩放的主要内容,如果未能解决你的问题,请参考以下文章

Google Maps V3:通过 AJAX 加载信息窗口内容

打开错误的信息窗口 Google Maps v3 [重复]

Google Maps v3 在地图初始化后调整缩放级别

关闭 Google Maps API v3 中的所有信息窗口

是否可以在Google Maps API v3上编写自定义文字?

在 Google Maps API v3 中只打开一个 InfoWindow