在闪亮的应用程序中向传单地图添加徽标

Add a logo to a leaflet map in a shiny app

我想在闪亮的应用程序中向传单地图添加徽标。

leafem 包的 addLogo 函数允许这样做,当我在 shiny 环境之外生成地图时,该函数可以完美运行,但是,当在 shiny 中应用该函数时,它不起作用。

我不知道我可以避免什么,或者是否有其他方法可以做到这一点。

├── app.R
└── www
    └── Logo.png
library(leaflet)
library(shiny)
library(leafem)


ui <- fluidPage(
  
  leafletOutput("map")
  
)

server <- function(input, output, session) {
  
  output$map <- renderLeaflet({    
    
    leaflet() %>%
      addTiles() %>%
      setView(lng = -79.442471,
              lat = 43.6857,
              zoom = 12) %>%
      addLogo("Logo.png",
              src= "local")    
    
    
  })
  
  
}

shinyApp(ui, server)



addLogo中使用src= "remote"。即使 Shiny 应用程序和图像在您的本地计算机中,您也需要将其用作 remote。使用 local 将指向 ../graphs/Logo.png 而不是仅指向 Logo.png(这是 www 目录下文件的默认值)。

library(leaflet)
library(shiny)
library(leafem)


ui <- fluidPage(
  
  leafletOutput("map")
  
)

server <- function(input, output, session) {
  
  output$map <- renderLeaflet({    
    
    leaflet() %>%
      addTiles() %>%
      setView(lng = -79.442471,
              lat = 43.6857,
              zoom = 12) %>%
      addLogo("Logo.png",
              src= "remote")    
  })
  
  
}

shinyApp(ui, server)