Shiny会渲染一次响应rCharts传单映射,但如果更改输入变量,则为空



我正在制作一个Shiny应用程序,该应用程序根据您选择的公交路线生成传单(rCharts)地图。乍一看,一切都渲染得很完美,但如果更改路线编号,就会出现一个空地图(甚至不是波浪线)。这并不是特定于路线编号。例如,我可以选择任何管线编号来成功生成第一个绘图,而第二个绘图,无论管线编号如何,都是空白的。

以前有人见过这个吗?有变通办法吗?

这里有一个简单的例子。

ui.R:

library(shiny)
library(rCharts)
shinyUI(fluidPage(
  titlePanel("Responsive Leaflet Map using rCharts"),
  sidebarLayout(
    sidebarPanel( "",
                  selectInput(
                    'route', 'Pick a bus route:',
                    choices = as.character(c("232","229"),
                                           selectize = FALSE)      
                  )
                  ),
    mainPanel("",
              chartOutput('map', 'leaflet')
              )
  )
))

服务器.R:

library(shiny)
library(rCharts)
library(RJSONIO)
library(rgdal)
shinyServer(function(input, output) {
  output$map <- renderMap({
    filename <- paste('json/',input$route,'.geojson',sep='')
    json <- fromJSON(file = filename)
    map3 <- Leaflet$new()
    map3$tileLayer(provide='Esri.WorldTopoMap')
    map3$setView(c(49.2494,-122.9797), zoom = 10)
    map3$set(dom = 'map')
    map3$fullScreen(TRUE)
    map3$geoJson(
      json,
      style = "#!
  {color: '#c93312'}!#")
    map3
  })
})

非常感谢您所能提供的任何帮助。

C

诀窍是删除map3$set(dom = 'map')。问题解决了!

最新更新