R小册子zoomControl选项

Bri*_*per 10 r leaflet

编辑:正如@Symbolix指出的那样,setMaxBounds确实与我正在寻找的不同.我真的只想完全禁用缩放,并删除控件.传单JavaScript API文档中描述的zoomControl选项似乎是我想要的,但我在R包中找不到该选项.


我正在使用传单在R中构建一个地图工具,我想将缩放限制到某个区域,但该setMaxBounds功能似乎没有任何效果.

library(dplyr)
library(leaflet)
library(tigris)

ohio_map <- leaflet(counties('OH', cb = TRUE)) %>%
  addProviderTiles("CartoDB.Positron") %>%
  addPolygons(weight = .3,
              color = "#229922",
              layerId = ~NAME) %>%
  setMaxBounds(lng1 = -84.800,
               lat1 = 42.000,
               lng2 = -80.500,
               lat2 = 38.400)
ohio_map
Run Code Online (Sandbox Code Playgroud)

这将显示地图的右侧区域,但不会阻止缩小.

完全删除缩放控件会更好,这样我就可以用更适合手头应用程序的东西替换导航.我找到了一个zoomControl选项,但是无法弄清楚在R中放置它以使其工作.

Geo*_*ood 20

要删除缩放控件,设置zoomControl = FALSEleafletOptions.例如:

library(leaflet)
leaflet(options = leafletOptions(zoomControl = FALSE)) %>%
    addTiles()
Run Code Online (Sandbox Code Playgroud)

请注意,这不会通过双击或滚动鼠标滚轮来禁用缩放.您可以通过设置控制缩放级别minZoom,并maxZoom在再次leafletOptions.要禁用缩放,请将minZoom等于maxZoom:

leaflet(options = leafletOptions(zoomControl = FALSE,
                                 minZoom = 3, maxZoom = 3)) %>%
    addTiles()
Run Code Online (Sandbox Code Playgroud)

作为奖励,如果您想要一个地图的"静态"视图,您还可以通过dragging选项禁用拖动:

leaflet(options = leafletOptions(zoomControl = FALSE,
                                 minZoom = 3, maxZoom = 3,
                                 dragging = FALSE)) %>%
    addTiles()
Run Code Online (Sandbox Code Playgroud)

请注意,您可能需要安装最新的github版本leaflet 来实现上述选项:

# install github version of leaflet
if (!require('devtools')) install.packages('devtools')
devtools::install_github('rstudio/leaflet')`
Run Code Online (Sandbox Code Playgroud)