Прежде всего, спасибо Шри, который очистил и сделал мой предыдущий код более производительным здесь
Во всяком случае, у меня есть некоторый код, который позволяет пользователю выбрать один или несколько видов (из selectizeInput). Приложение отображает распределение видов на карте.
Теперь, я озадачен, потому что я не могу отменить выбор видов? После построения распределений они остаются на карте, и я больше не могу их удалять ...
Я искал тщательно, но не мог видеть это .. Я довольно плохо знаком с блестящими ... так что, вероятно, легкая ошибка?
Весь код ниже,
Спасибо!!!
Jónás
DATAFRAME
df<- data.frame(
Number_Total = sample(c("5", "6", "1", "3")),
Species = sample(c("Ilione trifaria", "Pherbellia argyrotarsis",
"Euthycera seguyi", "Ilione trifaria")),
X= sample(c("37", "28", "21", "30")),
Y= sample(c("-5", "-16", "-10", "-15"))
)
UI
ui <- (fluidPage(titlePanel("Species Checker"),
sidebarLayout(
sidebarPanel(
selectizeInput('species', 'Choose species',
choices = df$Species, multiple = TRUE,
options = list(placeholder = 'select species'))
),
mainPanel(
leafletOutput("CountryMap", width = 600, height = 600))
)
))
SERVER
server <- function(input, output, session) {
map_data <- reactive({
#req(input$species)
df[df$Species %in% input$species, ]
})
output$CountryMap <- renderLeaflet({
leaflet() %>% addTiles() %>%
setView(lng = 20, lat = 40, zoom = 2)
})
map_proxy <- leafletProxy("CountryMap")
observe({
md <- map_data()
map_proxy %>%
addCircles(lng = md$Y, lat = md$X, weight = 10,
radius = sqrt(md$Number_Total)*15000, popup = md$Species)
})
}
Запустите приложение
shinyApp(ui = ui, server = server)