2014-11-25 13 views
7

Sto cercando di ottenere plotGoogleMaps quando si utilizza Shiny in Internet Explorer e Google Chrome e mi chiedevo cosa avrei dovuto fare per risolverlo.plot ShinyGoogleMaps Internet Explorer vs Chrome

Il codice che sto usando utilizza la risposta ad un diverso question

Il codice funziona quando Chrome è il browser, ma non funziona quando IE è il browser.

Per ripetere il codice di nuovo qui è:

library(plotGoogleMaps) 
library(shiny) 

runApp(list(
    ui = pageWithSidebar(
    headerPanel('Map'), 
    sidebarPanel(""), 
    mainPanel(uiOutput('mymap')) 
    ), 
    server = function(input, output){ 
    output$mymap <- renderUI({ 
     data(meuse) 
     coordinates(meuse) = ~x+y 
     proj4string(meuse) <- CRS("+init=epsg:28992") 
     m <- plotGoogleMaps(meuse, filename = 'myMap1.html', openMap = F) 
     tags$iframe(
     srcdoc = paste(readLines('myMap1.html'), collapse = '\n'), 
     width = "100%", 
     height = "600px" 
     ) 
    }) 
    } 
)) 

Dato che viene creato il file, penso che sia probabilmente un problema di caricamento.

Come sempre tutto l'aiuto sarebbe molto apprezzato

+0

Quale versione di IE stai usando? –

+0

Utilizzo Internet Explorer 10 –

+0

@ h.l.m Hai controllato la mia ultima soluzione? –

risposta

4

Il tuo problema non è R, lucido o plotGoogleMaps, ma il supporto di IE per lo standard HTML5. Supporto IE per srcdoc non è buono, leggere da questo link. È possibile utilizzare polyfill per supportare IE ma non penso sia necessario poiché si sta già creando il file html necessario nel passaggio plotGoogleMaps.

Provare il seguente codice. Invece di dare iframe srcdoc, io uso src proprietà. Anche google map html è stato creato nella directory www in modo che possa vederlo lucido. L'ho fatto funzionare in IE 11. Penso che dovrebbe funzionare in IE10.

Ho modificato la risposta alla normale soluzione di app lucida poiché sembra che anche le applicazioni a file singolo abbiano un problema. Questo è il link a shinyapps. E vedi anche modern.ie screenshots e tutti IE screenshots here.

ui.R

library(plotGoogleMaps) 
library(shiny) 

shinyUI(fluidPage(
    pageWithSidebar(
    headerPanel('Map'), 
    sidebarPanel(""), 
    mainPanel(uiOutput('mymap')) 
) 

)) 

server.R

library(plotGoogleMaps) 
library(shiny) 
shinyServer(function(input, output) { 
    if (!file.exists("www")) 
    { 
    dir.create("www") 
    } 

    output$mymap <- renderUI({ 
    data(meuse) 
    coordinates(meuse) = ~x+y 
    proj4string(meuse) <- CRS("+init=epsg:28992") 
    m <- plotGoogleMaps(meuse, filename = 'www/myMap1.html', openMap = F) 
    tags$iframe(
     src = 'myMap1.html', 
     width = "100%", 
     height = "600px" 
    ) 
    }) 

}) 
+0

Grazie per quello, ma non sembra funzionare ... Dice "Non trovato" .... –

+0

Controlla la tua directory www che il file html esiste. Potrebbe essere necessario creare la directory www –

+0

Ho creato la directory www e controllato che il file esista ... ma non viene caricato –