2015-12-28 128 views
1

我正在使用傳單包來繪製地圖並繪製經緯度和長圖。 我正在做以下R.傳單renderLeaflet不在閃亮

m <- leaflet() %>% 
addTiles() %>% # Add default OpenStreetMap map tiles 
addMarkers(lng=df_final$order_long, lat=df_final$order_lat) 
m 

它在R控制檯中工作得很好。但是,當我在閃亮 使用它不工作這是我ui.r代碼片段

tabPanel("Order Locations", leafletOutput("map", width = "80%", height = 
"80%")) 

,這是server.r代碼片段

output$map<- renderLeaflet({ 

dataset<-dataUpload() 
leaflet() %>% 
addTiles() %>% # Add default OpenStreetMap map tiles 
addMarkers(lng=dataset$order_long,lat=dataset$order_lat) 
}) 

它不會顯示任何內容。我哪裏出錯了。請幫忙

+0

沒什麼好說的。至少發佈一個「在R控制檯中工作正常」的例子呢? –

+0

@Mike Wise我已經發布了可在R控制檯上正常工作的代碼 – Neil

+0

哦,我發現它確實有些不錯。好的 –

回答

7

這個工程,我儘可能接近你的。它不喜歡的百分比高度明顯:

library(shiny) 
library(leaflet) 

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

ui <- fluidPage(
    actionButton("recalc", "New points"), 
    mainPanel(
    tabsetPanel(
     tabPanel("Order Locations", leafletOutput("map",width="80%",height="400px")), 
     tabPanel("Markers", verbatimTextOutput("markers")) 
    ) 
) 
) 

if (!file.exists("df_final.csv")){ 
    nmark <- 50 
    hv <- 80 
    df_final <- data.frame(order_long=runif(nmark,-hv,hv), 
         order_lat=runif(nmark,-hv,hv)) 
    write.csv(df_final,"df_final.csv",row.names=F) 
} 

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

    dataUpload <- reactiveFileReader(1000, session, 'df_final.csv', read.csv) 

    output$map <- renderLeaflet({ 
    leaflet() %>% 
     addTiles() %>% 
     addMarkers(lng=dataUpload()$order_long,lat=dataUpload()$order_lat) 
    }) 
    output$markers <- renderPrint({print(dataUpload())}) 
} 

shinyApp(ui, server) 

產量:

enter image description here

+0

我可以讓它看起來更像你的例子,但它已經相當接近了。你想要我嗎,還是夠了? –

+0

如果你能這樣做會有很大的幫助。 – Neil

+0

你有可能接受它嗎?我試圖去3k今天:) –

2

它的工作。問題在於ui.r文件。

這是修改後的代碼

tabPanel("Order Locations", leafletOutput("map")) 

擺脫掉的寬度和高度參數,並使用默認設置工作。