编辑:正如@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 = FALSE
在leafletOptions
.例如:
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)
归档时间: |
|
查看次数: |
5386 次 |
最近记录: |