我正在使用传单在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中的位置以使其工作。
答案 0 :(得分:17)
要删除缩放控件,请在zoomControl = FALSE
中设置leafletOptions
。例如:
library(leaflet)
leaflet(options = leafletOptions(zoomControl = FALSE)) %>%
addTiles()
请注意,这不会通过双击或滚动鼠标滚轮来禁用缩放。您可以在minZoom
中再次设置maxZoom
和leafletOptions
来控制缩放级别。要禁用缩放,请将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')`