Я написал цикл над блестящим модулем, который отображает маркер на карте листовки. Однако на всех моих картах отображается один и тот же маркер (я хочу показать каждую пару координат в data.frame
на другой карте). Я не знаю почему, но поднабор данных, кажется, не удается Кто-нибудь может объяснить, почему это происходит и как это решить?
library(shiny)
library(leaflet)
Data <- data.frame(longitude = c(11, 12, 14), latitude = c(50, 49, 51))
mod_map_ui <- function(.id) {
ns <- shiny::NS(.id)
leafletOutput(ns("map"))
}
mod_map <- function(input, output, session, .Data) {
output$map <- renderLeaflet({
leaflet() %>%
addTiles() %>%
addMarkers(data = .Data)
})
}
ui <- fluidPage(
uiOutput("list")
)
server <- function(input, output, session) {
observe({
tag.list <- tagList()
for (i in seq_len(NROW(Data))) {
tag.list <- tagAppendChildren(
tag.list,
mod_map_ui(paste0("map_mod", i)), br()
)
callModule(mod_map, paste0("map_mod", i), .Data = Data[i, ])
}
output$list <- renderUI({
tag.list
})
})
}
shinyApp(ui, server)