r - 传单/ Shiny : cannot draw reactive polygons

标签 r shiny leaflet polygon

浏览了 Shiny integration example on the Leaflet for R page ,我在子集化和显示一些多边形以在我的 Shiny 应用程序中显示时遇到问题。

目前,我正在获取一个带有侧边栏的应用程序,但主要显示只是“错误:不知道如何从 react 类对象获取路径数据”

这个想法是从 GB(3 个国家)中选择一个国家多边形并根据下拉选项单独显示它;

require(shiny)
require(rgdal)
require(rgeos)
require(leaflet)

cont <- readOGR(".\\mypath\\mypolygons.shp", "mypolygons", stringsAsFactors=FALSE)

ui <- fluidPage(

  titlePanel("My page"),

  sidebarLayout(
    sidebarPanel(
      selectInput("countryInput", "Country:", choices = c('England','Scotland','Wales'))
    ),
    mainPanel(
      leafletOutput("mymap")
    )
  )
)

server <- function(input, output, session) {

pols <- eventReactive(input$countryInput,{cont[substr(cont@data$code,1,1)==substr(input$countryInput,1,1),]})

  output$mymap <- renderLeaflet({
    leaflet() %>%
      addProviderTiles("CartoDB.Positron") %>%
      addPolygons(data = pols)
  })
}


shinyApp(ui, server)

错误:

Warning: Error in polygonData.default: Don't know how to get path data from object of class reactive
Stack trace (innermost first):
    83: polygonData.default
    82: polygonData
    81: derivePolygons
    80: addPolygons
    79: function_list[[k]]
    78: withVisible
    77: freduce
    76: _fseq
    75: eval
    74: eval
    73: withVisible
    72: %>%
    71: func [#6]
    70: output$mymap
     4: <Anonymous>
     3: do.call
     2: print.shiny.appobj
     1: <Promise>

最佳答案

修复:

首先我改变了;

pols <- eventReactive(input$countryInput,{cont[substr(cont@data$code,1,1)==substr(input$countryInput,1,1),]})

到;

pols <- reactive({cont.sim[substr(cont.sim@data$gssCode,1,1)==substr(input$countryInput,1,1),]

并且“addPolygons”行在变量名称“pols”之后缺少开/闭括号

addPolygons(data = pols)

变成了

addPolygons(data = pols())

关于r - 传单/ Shiny : cannot draw reactive polygons,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40800962/

相关文章:

r - Link R Shiny select输入项打开文件actionButton

r - Shiny - 如何增加内联单选按钮之间的间距?

css - webpack - 需要 ('node_modules/leaflet/leaflet.css' )

Android/Cordova WebView native HTML 选择导致奇怪的 DOM 行为

r - 改变个体密度以匹配 ggplot2 中的图例

r - 模拟时间序列

r - 在 R 中使用 ROCR 与 pROC 绘制 ROC

r - ggvis 中的图例方向

javascript - 在传单中加载 map 非常慢

r - 带有 ggplot2 的堆叠蝴蝶/ Tornado 图,以零为中心,用于可视化前后李克特问卷