【发布时间】:2024-01-02 23:15:01
【问题描述】:
我正在尝试将easyPrint plugin 合并到我闪亮的传单应用程序中。我想要的是看起来像the demo,但闪亮的东西。
我曾尝试模仿the examples,但没有成功。
到目前为止,这是我的 R 代码:
library(shiny)
library(shinydashboard)
library(shinyjs)
library(htmlwidgets)
library(htmltools)
library(leaflet)
library(leaflet.extras)
library(sp)
shinyApp(
ui = fluidPage(
leafletOutput("map", height = 750)
),
server = function(input, output) {
registerPlugin <- function(map, plugin) {
map$dependencies <- c(map$dependencies, list(plugin))
map
}
easyPrintPlugin <- htmlDependency("leaflet-easyprint", "2.1.8",
src = c(href = "https://github.com/rowanwins/leaflet-easyPrint/blob/gh-pages/dist/"),
script = "index.js")
# Map
output$map <- renderLeaflet({
leaflet() %>%
addProviderTiles(providers$CartoDB.Positron) %>%
registerPlugin(easyPrintPlugin) %>%
onRender("function(el, x) {
L.easyPrint({
position: 'topleft',
sizeModes: ['A4Portrait', 'A4Landscape']
}).addTo(map);}")
})
}
)
但是,什么都没有发生。它实际上是一个白屏。如果我删除 onRender 部分,传单会正常运行。
不幸的是,我对 Shiny、leaflet、.js 和 github 还比较陌生,所以我很难确定是哪个方面导致了问题。
【问题讨论】:
标签: r plugins shiny leaflet shinyjs