2014-09-05 125 views
2

我可是滚动与MapBox地图工作,我有以下问题:MapBox dragging.disable功能块页面上移动

在移动地图,因为我需要doesn't填充所有页面在其后显示其他事物。

我正在使用map.dragging.disable();,这可以防止拖动地图,但也可以滚动它。那么,如何禁用拖动事件而不阻塞正常的滚动行为呢?我需要能够滚动地图是一个图像,但我不想做this

我也见过this但它没有帮助我。

回答

1

我不知道这是否会帮助,但覆盖地图覆盖手动覆盖地图框工作。

<!-- Wrapper --> 
<div style="position: relative;"> 
    <!-- Mapbox object --> 
    <div id="mapbox"></div> 
    <!-- Overlay --> 
    <div style="height: 200px; position: absolute; top: 0; width: 100%;"></div> 
</div> 

此外,您将覆盖显示从块切换到无,以使地图再次可拖动。

0

我也遇到过这个问题。出于好奇,你使用的是什么版本的mapbox?我不记得在过去的版本中这是一个问题。我在v2.2.1上。

我在我的网站上使用Modernizr,我实施的解决方案是在存在.touchevents类时将z-index: -1属性应用于地图容器。这样你就不需要为你的页面添加不相关的标记。

HTML

<div id="map"></div> 

CSS

.touchevents #map { 
    position: relative; 
    z-index: -1; 
} 

如果你不使用的Modernizr我会鼓励你,但如果你不能不管出于什么原因,你可以只应用带有媒体查询的较小浏览器宽度的z-index。不太理想,但总比没有好。