2017-12-27 11 views
0

Ich habe eine Broschüre Karte in einer glänzenden App. Es nimmt eine Datei von einem Benutzer und plottet diese Daten. Im Moment ist es ziemlich hässlich. Ich würde wirklich gerne den FileInput auf der Flugblattkarte überlagert haben. Mit anderen Worten, ich möchte, dass die Seite vollständig die Flugblattkarte ist, aber die Dateieingabe darüber schwebt, ähnlich wie bei der Zoom-Schaltfläche.r - Overlay-DateiInput auf Prospekt in glänzend

Ich möchte die fileInput Upload-Schaltfläche aussehen wie die Elemente von this shiny app. Oben links befinden sich Logos, links überlagern sich Kontrollkästchen und oben rechts ein Titel.

Hier ist ein einfach (stark vereinfachte) outline meiner App:

library(shiny) 
library(shinydashboard) 
library(leaflet) 


shinyApp(
    ui <- bootstrapPage(
    fileInput("file_in", label = "label"), 
    tags$style(type="text/css", "html, body {width:100%;height:100%}"), 
    leafletOutput("myMap", width="100%", height="100%") 
), 

    server = function(input, output) { 

    my_table <- reactive({ 

     inFile <- input$file_in 
     if (is.null(inFile)) 
     return(NULL) 

     myData = read.csv(inFile$datapath) 

     return(myData) 
    }) 

    output$myMap = renderLeaflet({ 
     if(is.null(my_table())) 
     { 
     return(leaflet()) %>% addTiles() 
     } 
     else 
     { 
     leaflet(data = my_table()) %>% addTiles() 
     } 
    }) 
    } 
) 

Antwort

0

ich dies tat von absolutePanel(..., fileInput()) im ui verwenden.