可以在自定义街道视图中禁用ScrollWheel吗?

Dev*_*lue 6 javascript google-maps panoramas google-street-view

我正在建立一个网站,我有一个页面,它接收一个地址并使用它生成一个2D路线图样式谷歌地图,然后在它旁边,该地址的街景.

我的问题是这两个地图几乎跨越了网站的整个宽度,用户可能会在向下滚动页面时让鼠标移过它,并因为无法向下滚动(缩放到地图)而感到困惑.

为2D地图禁用此功能非常紧张

    //works to disable scroll wheel in 2D map   
var mapOptions = {
  zoom: 12,
  center: latlng,
  scrollwheel: false,
  mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions );

//not working to disable scroll wheel in panorama
var panoramaOptions = {
  position: results[0].geometry.location,
  scrollwheel: false
};

panorama = new  google.maps.StreetViewPanorama(document.getElementById("map_canvas2"), panoramaOptions );
Run Code Online (Sandbox Code Playgroud)

但是街景似乎不允许我使用这些选项禁用滚轮,我无法在google-docs中找到此问题.任何人都知道是否可以这样做或建议如何处理它?

lin*_*eak 10

有一项功能请求,要求将Gmaps API v3问题添加scrollwheel: false到街景 http://code.google.com/p/gmaps-api-issues/issues/detail?id=2557.现在已修复,只需scrollwheel: false在您的StreetViewPanorama选项中使用.

  • 现在这是正确的答案,应该这样标记.不过,我注意到它会占用滚动事件,因此当你到达那里时滚动停止.虽然它消除了令人烦恼的缩放 - 当你到达那里的bug,它仍然是,恕我直言,一个错误. (2认同)

man*_*bkk 3

我遇到了同样的问题,当用户使用鼠标滚轮向下滚动时,光标会被谷歌街景捕获并开始缩放而不是向下滚动页面。

在谷歌地图中,​​他们提供了可以禁用此功能的滚轮属性,但不幸的是,这似乎并未在街景视图中实现。

到目前为止,我发现的唯一解决方法是正如 @bennedich 在之前的答案中所说,我在街景 div 上放置了一个空/透明的 div。

当用户单击街景区域上的任意位置时,我通过使用 jQuery 在 mousedown 事件上隐藏此空 div(使用 css 可见性属性)来启用控件,并且当用户将鼠标移出时,我将这个空 div 放回原处。这基本上意味着每次用户想要与街景控件交互时,他都必须单击它一次。这不是最好的解决方案,但比滚动时鼠标卡住要好