Speichern von Prospektkarten in R shiny

Ich habe eine App erstellt, in der der Benutzer eine Flugblattkarte ändern kann, und ich möchte diese Karte in einem PDF-Bericht verwenden. Ich habe 1. Packungsbeilage, Webshot und htmlwidget installiert 2. PhantomJS @ installie

below ist eine vereinfachte Version des Codes

server.R:

    library(shiny)
    library(leaflet)
    library(htmlwidgets)
    library(webshot)

    shinyServer(function(input, output, session) {

      output$amap <- renderLeaflet({
      leaflet() %>%
        addProviderTiles("Stamen.Toner",
                     options = providerTileOptions(noWrap = TRUE,      reuseTiles=TRUE))
  })

  observe({
    leafletProxy("amap") %>%
    clearShapes() %>%
    addCircles(lng = c(22,-2), lat = c(42,65))
  })



  observeEvent(input$saveButton,{
    themap<- leafletProxy("amap")
    saveWidget(themap, file="temp.html", selfcontained = F) 
    webshot("temp.html", file = "Rplot.png",
          cliprect = "viewport")

  })
})

ui.R:

fluidPage(
  leafletOutput("amap", height="600px", width="600px"),
  br(),
  actionButton("saveButton", "Save")
  )

Ich erhalte folgende Fehlermeldung:

Warning: Fehler in system.file: 'package' muss die Länge 1 haben. Stack trace (innerste zuerst): 73: system.file 72: readLines 71: paste 70: yaml.load 69: yaml :: yaml.load_file 68: getDependency 67: widget_dependencies 66: htmltools :: attachDependencies 65: toHTML 64: saveWidget 63: observEventHandler [C: \ R files \ test / server.R # 24] 1: shiny :: runApp

wenn die Schaltfläche Speichern aktiviert ist. savewidget funktioniert einwandfrei, wenn ich die Schaltfläche zum Speichern wie folgt definiere:

  observeEvent(input$saveButton,{
    themap<-leaflet() %>%
      addProviderTiles("Stamen.Toner",
                       options = providerTileOptions(noWrap = TRUE, reuseTiles=TRUE))

    saveWidget(themap, file="temp.html", selfcontained = F) 
    webshot("temp.html", file = "Rplot.png",
          cliprect = "viewport")

  })

Aber ich möchte wirklich die Änderungen, die der Benutzer im webshot vornimmt. Kann jemand helfen

Antworten auf die Frage(2)

Ihre Antwort auf die Frage