2014-09-05 131 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。不太理想,但總比沒有好。