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

时间:2015-03-22 00:10:11

标签: shiny geojson rcharts rmaps

我正在制作一个Shiny App,根据您选择的公交路线生成传单(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')
              )
  )
))

server.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

1 个答案:

答案 0 :(得分:1)

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