R小册子zoomControl选项

时间:2016-04-01 21:10:43

标签: r leaflet

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

我正在使用传单在R中构建地图工具,我想将缩放限制在某个区域,但setMaxBounds函数似乎没有任何效果。< / p>

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

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

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

1 个答案:

答案 0 :(得分:17)

要删除缩放控件,请在zoomControl = FALSE中设置leafletOptions。例如:

library(leaflet)
leaflet(options = leafletOptions(zoomControl = FALSE)) %>%
    addTiles()

请注意,这不会通过双击或滚动鼠标滚轮来禁用缩放。您可以在minZoom中再次设置maxZoomleafletOptions来控制缩放级别。要禁用缩放,请将minZoom设置为maxZoom

leaflet(options = leafletOptions(zoomControl = FALSE,
                                 minZoom = 3, maxZoom = 3)) %>%
    addTiles()

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

leaflet(options = leafletOptions(zoomControl = FALSE,
                                 minZoom = 3, maxZoom = 3,
                                 dragging = FALSE)) %>%
    addTiles()

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

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