传单地图防止浏览器滚动

Leaflet map preventing browser scroll

只要鼠标指针悬停在传单地图上,浏览器就不会向上或向下滚动。即使我将 minZoom 和 maxZoom 附加到相等的值,也会发生这种情况。有解决办法吗?

php.poverty.map.2009 <-
leaflet(options = leafletOptions(minZoom = 12, maxZoom = 12)) %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons(data = php.df.polygon.2009, 
          fillColor = ~php.pal.2009(percent), 
          color = "#b2aeae", # must use hex colors
          fillOpacity = 0.7, 
          weight = 0.3, 
          smoothFactor = 0.2,
          popup = php.popup.2009) %>%
addLegend(pal = php.pal.2009, 
        values = php.df.polygon.2009$percent, 
        position = "bottomright", 
        title = "Percent of Households <br> Living below Poverty <br> (Census, 2009)",
        labFormat = labelFormat(suffix = "%"))
php.poverty.map.2009

我认为您的缩放选项可能需要放在 providerTiles 函数中。 IE。 addProviderTiles("CartoDB.Positron", options = providerTileOptions(minZoom=12, maxZoom=12))

Leaflet 地图有一个 documented scrollWheelZoom option 允许您禁用滚轮交互(但仍然允许使用其他方式缩放地图,例如缩放按钮)。

在普通 Javascript 中,它的用法类似于 var map = L.map({ scrollWheelZoom: false })。我不太精通 R,但你应该尝试 leaflet(options = leafletOptions(scrollWheelZoom = false)) 或其变体。

在我第二次尝试回答这个问题时,我遇到了 leaflet.extras package which implements a selection of leaflet plugins in R. One of these is the Leaflet.Sleep 插件,可以通过将 suspendScroll() 函数添加到 R 中的传单地图来实现。

基本示例

首先,使用 devtools::install_github('bhaskarvk/leaflet.extras') 安装 leaflet.extras

library(leaflet)
library(leaflet.extras)

leaflet() %>%
    addProviderTiles("CartoDB.Positron") %>%
    suspendScroll()

有关示例,请参阅 this page