3

Using leaflet within RStudio produces blank maps in the viewer. Only the markers can be seen. No warning or error message can be seen in the console. When I use shiny it's the same in the RStudio viewer but map can be seen in the FireFox browser by listening on the shiny server.

devtools::install_github("rstudio/leaflet");library(leaflet)
m <- leaflet() %>%
  addTiles() %>%  # Add default OpenStreetMap map tiles
  addMarkers(lng = 174.768, lat = -36.852,
             popup = "The birthplace of R")
m  # Print the map

sessionInfo()

R version 3.2.0 (2015-04-16)
Platform: i386-w64-mingw32/i386 (32-bit)
Running under: Windows 7 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252    LC_MONETARY=German_Germany.1252
[4] LC_NUMERIC=C                    LC_TIME=German_Germany.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] geosphere_1.3-13 maps_2.3-9       WDI_2.4          RJSONIO_1.3-0    rgdal_1.0-4      sp_1.1-1        
 [7] leaflet_1.0.0    shiny_0.12.0     dplyr_0.4.1      readxl_0.1.0     memoise_0.2.1   

loaded via a namespace (and not attached):
 [1] digest_0.6.8     htmltools_0.2.6  R6_2.0.1         curl_0.9         assertthat_0.1   grid_3.2.0      
 [7] bitops_1.0-6     stringr_1.0.0    devtools_1.8.0   httr_0.6.1       httpuv_1.3.2     git2r_0.10.1    
[13] rversions_1.0.1  lattice_0.20-31  mime_0.3         DBI_0.3.1        xml2_0.1.1       rstudioapi_0.3.1
[19] jsonlite_0.9.16  stringi_0.4-1    magrittr_1.5     RCurl_1.95-4.6   yaml_2.1.13      tools_3.2.0     
[25] parallel_3.2.0   htmlwidgets_0.5  xtable_1.7-4     lazyeval_0.1.10  Rcpp_0.11.6     

Shiny code:

library(shiny)
library(leaflet)

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

ui <- fluidPage(leafletOutput("mymap"),
                p(),
                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())
  })
}

shinyApp(ui, server)

Listening on http://127.0.0.1:5916
sajatogu
  • 31
  • 3
  • Can you provide shiny code for ui.R and server.R? Your first example works for me, leaflet 1.0.0., Rstudio version 0.98.1103. I'm on 64bit Windooz 7. – Roman Luštrik Jul 27 '15 at 09:33
  • Hi Roman, the shiny example with ui and server is in the second coding part in my original question. That's a standard shiny leaflet example. Or did I understand your question wrong? – sajatogu Jul 27 '15 at 11:43
  • You're right, excuse my ignorance (it won't happen again). – Roman Luštrik Jul 27 '15 at 11:47
  • Is there a chance you're behind a proxy? – Roman Luštrik Jul 27 '15 at 11:50
  • I don't know how RStudio works on that point. It might be but I don't think so because I can see maps with the ggmap package in RStudio. – sajatogu Jul 27 '15 at 15:42
  • My standard browser is an old Internet Explorer version installed in my company which also can not display the map. The map can aoly be seen with shiny and with the FireFox browser. Is there a relation between the default browser and die RStudio-Viewer? – sajatogu Jul 27 '15 at 16:30
  • Ha, old IE. I'm not surprised it doesn't work as expected. It works for me on Chrome. I don't have any information about what kind of browser they implement. Perhaps going through the [source code](https://github.com/rstudio/rstudio) would be fruitful? I suspect they use system default, alas... – Roman Luštrik Jul 28 '15 at 07:00

1 Answers1

1

One thing to try in your first example (non-Shiny) is using addProviderTiles in place of addTiles.

m <- leaflet() %>%
  addProviderTiles(providers$OpenStreetMap) %>%  
  addMarkers(lng = 174.768, lat = -36.852,
         popup = "The birthplace of R")
m  # Print the map

The same addProviderTiles substitution may fix the issue within the RStudio viewer as well, or you could consider launching Shiny direct to Firefox as described here, as a work around.

joelnNC
  • 459
  • 3
  • 11