add_polygon 在 mapdeck 中缩小地图
add_polygon in mapdeck zooms out the map
当我向闪亮的应用程序添加一个简单的地图时,没有添加多边形,缩放参数工作正常,并且地图按预期初始化。
另一方面,当我使用 add_polygon() 添加多边形时,地图被初始化为比应有的缩小得更多。
为什么会这样?
这是我的代码:
library(mapdeck)
library(sf)
sf = st_as_sf(my_LargeSpatialPolygonDataframe)
output$my_map = renderMapdeck({
mapdeck(token = mytoken, location = c(a, b), zoom = 12,
bearing = -45.00, pitch = 0, style = 'mapbox://styles/mapbox/light-v9') %>%
add_polygon(data = sf,
stroke_colour = "#000000",
stroke_width = 20,
stroke_opacity = 200,
fill_opacity = 0,
layer = "init_polygons")
})
当您通过 add_
函数之一添加图层时,该图层将计算适合 window 框架中整个数据所需的缩放级别。您可以使用 update_view = FALSE
停止此行为
这是一个可重现的例子
在 mapdeck() 中设置位置
此处add_polygon()
图层将re-zoom地图显示图层中的所有数据。这就是您所看到的行为。
library(mapdeck)
set_token("MAPBOX_TOKEN")
mapdeck(
location = c(144.9, -37.8)
, zoom = 11
, bearing = -45.00
, pitch = 0
, style = mapdeck_style("light")
) %>%
add_polygon(
data = spatialwidget::widget_melbourne
, stroke_colour = "#000000"
, stroke_width = 20
, stroke_opacity = 200
, fill_opacity = 0
, layer_id = "init_polygons"
)
使用 update_view = FALSE
这会告诉图层不要更新视图,因此将使用您的原始 location()
值。
mapdeck(
location = c(144.9, -37.8)
, zoom = 11
, bearing = -45.00
, pitch = 0
, style = mapdeck_style("light")
) %>%
add_polygon(
data = spatialwidget::widget_melbourne
, stroke_colour = "#000000"
, stroke_width = 20
, stroke_opacity = 200
, fill_opacity = 0
, layer_id = "init_polygons"
, update_view = F
)
当我向闪亮的应用程序添加一个简单的地图时,没有添加多边形,缩放参数工作正常,并且地图按预期初始化。
另一方面,当我使用 add_polygon() 添加多边形时,地图被初始化为比应有的缩小得更多。
为什么会这样?
这是我的代码:
library(mapdeck)
library(sf)
sf = st_as_sf(my_LargeSpatialPolygonDataframe)
output$my_map = renderMapdeck({
mapdeck(token = mytoken, location = c(a, b), zoom = 12,
bearing = -45.00, pitch = 0, style = 'mapbox://styles/mapbox/light-v9') %>%
add_polygon(data = sf,
stroke_colour = "#000000",
stroke_width = 20,
stroke_opacity = 200,
fill_opacity = 0,
layer = "init_polygons")
})
当您通过 add_
函数之一添加图层时,该图层将计算适合 window 框架中整个数据所需的缩放级别。您可以使用 update_view = FALSE
这是一个可重现的例子
在 mapdeck() 中设置位置
此处add_polygon()
图层将re-zoom地图显示图层中的所有数据。这就是您所看到的行为。
library(mapdeck)
set_token("MAPBOX_TOKEN")
mapdeck(
location = c(144.9, -37.8)
, zoom = 11
, bearing = -45.00
, pitch = 0
, style = mapdeck_style("light")
) %>%
add_polygon(
data = spatialwidget::widget_melbourne
, stroke_colour = "#000000"
, stroke_width = 20
, stroke_opacity = 200
, fill_opacity = 0
, layer_id = "init_polygons"
)
使用 update_view = FALSE
这会告诉图层不要更新视图,因此将使用您的原始 location()
值。
mapdeck(
location = c(144.9, -37.8)
, zoom = 11
, bearing = -45.00
, pitch = 0
, style = mapdeck_style("light")
) %>%
add_polygon(
data = spatialwidget::widget_melbourne
, stroke_colour = "#000000"
, stroke_width = 20
, stroke_opacity = 200
, fill_opacity = 0
, layer_id = "init_polygons"
, update_view = F
)