在交互式文档(Rmarkdown)中使用 renderLeaflet()

问题描述 投票:0回答:1

我正在尝试创建一个交互式文档,就像 Shiny 网站上的教程一样。不过,我希望该图是一个传单地图。按照 Leaflet 教程,似乎以下内容应该使用

leaflet::renderLeaflet()
而不是
shiny::renderPlot()
来工作。

相反,我在运行文档时收到错误:

Error: object 'input' not found
。在交互式 Rmarkdown 文档中使用闪亮小部件时,是否有一种特殊的方法可以将
input
暴露给传单?

---
runtime: shiny
output: html_document
---


```{r echo = FALSE}
library(magrittr)
shiny::selectInput(
  "weight", label = "Weight:",
  choices = c(1, 2, 3, 4, 5), selected = 5
)
```

```{r include = FALSE}
csa <- tigris::combined_statistical_areas(class = "sf")
```

```{r echo = FALSE}
leaflet::renderLeaflet({   # <- main difference from tutorial
  leaflet::leaflet() %>%
    leaflet::addTiles() %>%
    leaflet::addPolylines(data = csa, color = '#333', weight = input$weight)
})
```
r shiny r-leaflet
1个回答
0
投票

我无法确认您的问题。您的示例交互式文档运行得很好:

enter image description here

我一直在 R 3.6.1 上使用以下库版本

  • leaflet_2.0.2
  • rmarkdown_1.16
  • shiny_1.4.0
© www.soinside.com 2019 - 2024. All rights reserved.