Я новичок в блеске и столкнулся с трудностью. Я хочу иметь карту с интерактивными кругами. При щелчке эти круги позволят мне сделать запрос к базе данных SQL, чтобы получить соответствующие данные и построить графики.
Мне не удается получить информацию о кругах в переменную, хотя я могу напечатать ее на блестящем интерфейсе.
Вот пример кода:
library(shiny)
library(leaflet)
ui <- fluidPage(
leafletOutput("mymap"),
verbatimTextOutput("marker")
)
server <- function(input, output, session) {
output$mymap <- renderLeaflet({
leaflet(data = mapStates, options = leafletOptions(minZoom = 3, maxZoom = 18)) %>%
addTiles() %>%
addProviderTiles(providers$Stamen.TonerLite,
options = providerTileOptions(noWrap = TRUE))%>%
addCircleMarkers(data = data.frame(lat = 51, lng = 13,STANAME = "somewhere",STAID = "1" ), lng = ~lng, lat = ~lat,radius = 1, color = "red", fill = "red", popup = ~STANAME,layerId = ~STAID)
})
# here the circle info
output$marker <- renderPrint(input$mymap_marker_click)
}
shinyApp(ui, server)
но мне не удается получить идентификатор маркера в переменную в функции сервера. Я попробовал:
input$mymap_marker_click$id
Но это говорит мне, что мне нужен реактивный контекст. Если я сделаю:
renderPrint(input$mymap_marker_click)$id
Ошибка: объект типа 'замыкание' не может быть подмножеством
Я не могу использовать выходные данные на стороне сервера, но мне нужна эта переменная на стороне сервера, чтобы выполнить запрос и графики.
Я должен продолжить?
Спасибо за вашу помощь.