Shiny 渲染一次响应式 rCharts 传单地图,但如果更改输入变量则为空白
Shiny renders a responsive rCharts leaflet map once, but is blank if you change the input variable
我正在制作一个闪亮的应用程序,它会根据您选择的巴士路线生成传单 (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
诀窍是删除 map3$set(dom = 'map')
。问题已解决!
我正在制作一个闪亮的应用程序,它会根据您选择的巴士路线生成传单 (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
诀窍是删除 map3$set(dom = 'map')
。问题已解决!