Я задал вопрос на следующей странице, но я опубликую его снова. В блеске + листовка setview обновляется при каждом выполнении рендера. Я хочу предотвратить это
В настоящее время мы создаем карты с использованием блеска и листовки. Файл shp проецируется на карту. файл shp → https://drive.google.com/file/d/1ji2J0vwEE9y8F0kNujmMoKPrf1IWZ7-x/view?usp=sharing
Я хочу показать / скрыть этот файл shp, установив размер области и длину окружности с помощью sliderInput et c.
Пример кода следующий:
library(shiny)
library(leaflet)
library(shinycssloaders)
shinyUI(fluidPage(
titlePanel("sample sample sample sample"),
#sidebarLayout settings
sidebarLayout(
sidebarPanel(
sliderInput("area_slider",label = h6("Area settings"),min = 0,max = 5000,value = c(0,5000)),
),
#mainpanel settings
mainPanel(
leafletOutput("mymap",height=600)
)
)
))
shinyServer(function(input, output) {
shape_path <- "C:/Users/user/Documents/"
shp_file <- readOGR(paste0(shape_path,"sample.shp"))
##########################
#map settings
output$mymap <- renderLeaflet({
leaflet() %>%
#Base Groups
addTiles(group="OSM")%>%
#setView
setView(lng=139.8,lat=35.7,zoom=12)%>%
addPolygons(data = shp_file %>%
subset(shp_file@data$area > input$area_slider[1] & shp_file@data$area < input$area_slider[2]),
color = "#808080",
group="area")%>%
#Layers Control
addLayersControl(
baseGroups = c("OSM"),
overlayGroups = c("area"),
options = layersControlOptions(collapsed = FALSE))
})
})
Предыдущие респонденты указали, что вы должны использовать LeafletProxy, я не знаю, как его использовать. Я рад, что вы могли бы сказать мне.
Большое спасибо.