2017-01-19 6 views
1

Ich kann nicht „Vollbild“ Karte in meinem glänzenden app haben, denn als ich „100%“ Parameter, die Karte verschwindet ...Probleme beim Skalieren der Karte. Glänzend + Faltblatt

ui <- fluidPage(
    leafletOutput("mymap", height = "100%", width = "100%"), 

Aber wenn ich tun, um diese

ui <- fluidPage(
    leafletOutput("mymap"), 

gibt es keine Probleme, aber es gibt eine Hälfte mit Karte und eine Hälfte in leer. Und ich brauche es Vollbild

zu sein habe ich versucht,

leafletOutput("mymap", height = 800, width = 1300) 

Aber es ist nicht das, was ich brauche, weil es in das Fenster nur knapp sein Ziel Skala, das ist, warum ich die „100%“ Parameter preffer.

Antwort

3

Nun, ich mit 100% erraten Höhe Sie „fit zu Bildschirm/Fenster“ bedeuten?

jscode <- ' 
$(document).on("shiny:connected", function(e) { 
var jsHeight = window.innerHeight; 
Shiny.onInputChange("GetScreenHeight",jsHeight); 
}); 
' 


library(shiny) 
library(leaflet) 

r_colors <- rgb(t(col2rgb(colors())/255)) 
names(r_colors) <- colors() 

ui <- fluidPage(
    p(), 
    tags$script(jscode), 
    uiOutput("leafl"), 
    actionButton("recalc", "New points") 
) 

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

    points <- eventReactive(input$recalc, { 
    cbind(rnorm(40) * 2 + 13, rnorm(40) + 48) 
    }, ignoreNULL = FALSE) 

    output$mymap <- renderLeaflet({ 
    leaflet() %>% 
     addProviderTiles("Stamen.TonerLite", 
         options = providerTileOptions(noWrap = TRUE) 
    ) %>% 
     addMarkers(data = points()) 
    }) 

    output$leafl <- renderUI({ 
    if(!is.null(input$GetScreenHeight)){ 
     width <- session$clientData$output_image1_width 
     print(session$clientData) 
     height <- session$clientData$output_image1_height 
     leafletOutput("mymap", width = "100%", height = input$GetScreenHeight) 
    } 
    }) 
} 

shinyApp(ui, server) 
+0

Ja. Für mich geht das. Vielen Dank !} – Forever

Verwandte Themen