HTML вывод и отображение на Shinydashboard - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь вставить страницу html (листовые карты, созданные с блестящими виджетами) в блестящую панель инструментов. Во-первых, найдите нижеприведенный код для создания 3 листовок:

#LEAFLET MAPS EXAMPLES library(leaflet) library(htmlwidgets) rand_lng = function(n = 10) rnorm(n, -93.65, .01) rand_lat = function(n = 10) rnorm(n, 42.0285, .01) m = leaflet() %>% addTiles() %>% addCircles(rand_lng(50), rand_lat(50), radius = runif(50, 10, 200)) saveWidget(m, file="map_type_1.html") m = leaflet() %>% addTiles() %>% addCircles(rand_lng(10), rand_lat(10), radius = runif(50, 10, 200)) saveWidget(m, file="map_type_2.html") m = leaflet() %>% addTiles() %>% addCircles(rand_lng(2), rand_lat(2), radius = runif(50, 10, 200)) saveWidget(m, file="map_type_3.html")

Карты Dynami c должны реагировать на выбор пользовательского ввода, но это не так. textOutput не работает правильно с активированным uiOutput. Код страницы Shinydashboard здесь.

library(shiny)
library(shinydashboard)
#---HEADER
header <- dashboardHeader(
title = "Basic dashboard"
)#end header

#---SIDEBAR
sidebar <- dashboardSidebar(
  sidebarMenu(
      menuItem("Menu 1", tabName = "Menu1", icon = icon("comment")))
) #end sidebar

#---BODY
body <- dashboardBody(
 tabItems(

      # Tab items
      tabItem(tabName = "Menu1",h2("TITLE Menu 1"),
      sidebarPanel(width=4,h3("Choice"),
  radioButtons("choice", label = h4("Choose"),choices = list("Type 1" = "type_1","Type 2" = "type_2","Type 3" = "type_3"), selected = "type_1")      
      ),#end sidebar panel1

      sidebarPanel(width=8,h3("Dynamic map"),
      uiOutput('mymap'),#DO NOT WORK
      textOutput("selected_nam")      
      )#end sidebar panel2
      ) #end tabItem
    )#end tabItems
) #end dashboardBody


#---UI DASHBOARDPAGE----------------------------------
ui <- dashboardPage(header, sidebar, body)

#SERVER
server <- function(input, output,session) {

#DO NOT WORK
output$mymap <- renderUI({
    nam=paste0("map_",input$choice,".html")
    includeHTML(path = paste0(nam))
    })

output$selected_nam <- renderText({ 
    paste0("map_",input$choice,".html")
  })

} #end server
shinyApp(ui = ui, server = server)

Любая помощь приветствуется, Большое спасибо, Ochees

...