Я немного новичок в R Shiny, и я пытаюсь сделать простую, динамичную c веб-карту, на которой обычные пользователи могут найти, где переработать различные материалы в Восточном Кентукки. На панели боковой панели в пользовательском интерфейсе я создал флажок «Группа», чтобы пользователь мог фильтровать через центры переработки, что позволяет перерабатывать материалы по своему выбору (в данном случае это центры переработки стекла И / ИЛИ алюминия, И / ИЛИ пластика). ). Флажок отображается, когда вы запускаете приложение, но я получаю пустую панель инструментов, где должна быть карта. Что-то не так со стороны сервера в приложении, когда я пытаюсь создать карту прокси в функции наблюдающей (), но я озадачен тем, что я делаю неправильно.
Вот ссылка на мой данные с именем RE.csv: https://github.com/mallen011/Leaflet_and_Shiny/blob/master/Shiny%20Leaflet%20Map/csv/RE.csv
Вот полный, оригинальный код приложения Shiny: https://github.com/mallen011/Leaflet_and_Shiny/blob/master/Shiny%20Leaflet%20Map/app.R
Вот данные, читайте в R:
RE <- read.csv("C:/Users/username/Desktop/GIS/Shiny Leaflet Map/csv/RE.csv")
RE$y <- as.numeric(RE$y)
RE$x <- as.numeric(RE$x)
RE.SP <- SpatialPointsDataFrame(RE[,c(7,8)], RE[,-c(7,8)])
RE$popup <- paste("<p><h2>", RE$name,"</p></h2>",
"<p>", RE$sector,"</p>",
"<p>", RE$address,"</p>",
"<p>", RE$phone,"</p>")
Вот пользовательский интерфейс (dashboardSidebar - это место, где расположен вход checkboxGroup ()):
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(checkboxGroupInput(inputId = "RE_check",
label = h3("Recycleables"),
choices = list("Glass" = RE$GL, "Aluminum" = RE$AL, "Plastic" = RE$PL),
selected = 0)
),
dashboardBody(
fluidRow(box(width = 12, leafletOutput(outputId = "map"))),
leafletOutput("map")
)
)
А вот сервер:
server <- function(session, input, output) {
output$map <- renderLeaflet({
leaflet() %>%
addMarkers(data = RE,
lng = ~x, lat = ~y,
label = l apply(RE$popup, HTML),
group = "recycle") %>%
})
И это тот раздел, с которым у меня проблемы на стороне server.r. Я не уверен, что я делаю не так, но я знаю, что что-то не так с моим наблюдением (). То, что я пытаюсь выполнить sh, - это событие наблюдения, в котором, если пользователь проверяет стекло в группе флажков, то появляется каждый центр переработки, имеющий значение «да» для переработки стекла. Просто подумайте, как go получить этот результат.
observeEvent({
RE_click <- input$map_marker_click
if (is.null(RE_click))
return()
if(input$RE_check == "Glass"){
leafletProxy("map") %>%
clearMarkers() %>%
addMarkers(data = RE_click,
lat = RE$y,
lng = RE$x,
popup = RE$popup)
}
})}
shinyApp(ui = ui, server = server)
Я уверен, что ответ на мою дилемму намного проще чем я делаю это, но я был бы признателен за любую помощь. Оставайтесь в безопасности там! Спасибо