Я пытаюсь добавить маркеры на мою интерактивную карту Leaflet, если пользователь поставил галочку.Тем не менее, я не могу заставить checkbox-внешний вид работать в функции renderLeaflet, но я могу в функции renderPlot.
Мой код, который работает, выглядит следующим образом:
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
checkboxInput('check1','Show Counties', value = TRUE)),
mainPanel(
# I'm aware that this should be changed to leaftletOutput, when used
# with the in the second code snippet below
plotOutput("mymap")
),
position = 'right'
)
)
server <- function(input, output) {
output$mymap <- renderPlot({
if (input$check1){
hist(rnorm(10))
} else {
hist(rnorm(100))
}
})
}
shinyApp(ui = ui, server = server)
Та же логика не работает в Leaflet, и я был бы очень признателен за информацию о том, как изменить приведенный ниже код.Я знаю, что у вас нет доступа к двум переменным: USstates или coor , но я надеялся, что можно будет указать на ошибку, потенциально с точки зрения синтаксической ошибки.Функция вывода выглядит следующим образом:
output$mymap <- renderLeaflet({
if (input$check1 == TRUE){
leaflet(USstates) %>%
addTiles() %>%
addPolygons(color = 'navy',
opacity = 1.0,
weight = 1) %>%
addMarkers(lng = coor[,1],lat = coor[,2])
} else {
leaflet(USstates) %>%
addTiles() %>%
addPolygons(color = 'navy',
opacity = 1.0,
weight = 1)
}
})