【发布时间】:2016-07-21 19:48:03
【问题描述】:
我正在使用传单在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
这会显示地图的正确区域,但不会阻止缩小。
完全删除缩放控件会更好,这样我就可以用更适合手头应用程序的东西替换导航。我找到了一个zoomControl 选项,但无法弄清楚将它放在 R 中的哪个位置以使其工作。
编辑:正如@Symbolix 所指出的,setMaxBounds 确实与我正在寻找的不同。我真的只想完全禁用缩放,并删除控件。传单 JavaScript API 文档中描述的 zoomControl 选项似乎是我想要的,但我在 R 包中找不到该选项。
【问题讨论】:
-
您是否尝试过类似的方法:addProviderTiles("CartoDB.Positron", options=tileOptions(minZoom=9)) 或 addProviderTiles("CartoDB.Positron", options=tileOptions(maxZoom=9))。您可以根据需要更改号码。
-
setMaxBounds( )阻止您向左/向右/向上/向下滚动(即地图边界),而不是缩放级别。从?setView到options = list( )可用的zoom options 似乎不包括zoomControl。功能 -
@MLavoie,我检查了 maxZoom/minZoom,确实接近了,但如果我也可以删除缩放按钮会更好。
-
@Symbolix,是的,我现在看到了,这并不是我所期望的行为。现在我真的只是希望我可以禁用任何缩放并删除控件。
-
@BrianStamper - 应该可以,但你只需要弄清楚如何实现
javascriptzoom control 函数