在 Shiny R 中,我正在制作一个带有叠加层的地图应用程序,然后添加用户输入的叠加层。因此,当用户上传数据并看到带有标记的更新地图后,我希望用户能够将新地图下载为 html 文件。
我将在下面对我正在做的事情做一个简化的演示:
服务器.ui
library(shiny)
library(leaflet)
shinyServer(function(input,output,session){
output$mymap <- renderLeaflet({
mydata <- read.csv("data/stuff.csv")
leaflet() %>% addTiles() %>%
addCircles(data = mydata)
})
observeEvent(input$file1, {
inUserfile <- input$file1
if(!is.null(inUserfile)) {
userdata <- read.csv(inUserfile$datapath)
proxy <- leafletProxy("mymap")
proxy %>% addMarkers(data = userdata)
}
})
output$htmllink <- downloadHandler (
filename = 'temp.html',
content = function(file) {
src <- normalizePath('mymap.Rmd')
owd <- setwd(tempdir())
on.exit(setwd(owd))
file.copy(src, 'mymap.Rmd')
out <- render('mymap.Rmd', html_document())
file.rename(out,file)
})
我似乎无法让下载按钮工作。我不确定要在 .Rmd 文件中放入什么,特别是因为我也在使用用户上传的文件。
当谈到使用 leafletProxy 后保存地图时,文档非常模糊,我试图适应的是其他人试图在 Shiny R 中保存他们的传单输出的问题。
任何帮助表示赞赏。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)