手头的任务很简单 - 我希望能够在Shiny应用程序中自定义我的Leaflet弹出窗口的CSS样式。我尝试将this和this示例中的解决方案合并无效。
使用上述两种解决方案,这里有一些(失败的)示例代码:
library(shiny)
library(leaflet)
shinyApp(
ui <- fluidPage(
tags$head(includeCSS(system.file('www', 'style.css', package = 'myPackage'))),
leafletOutput("map", width = "100%", height = "800")
), #END UI
server <- function(input, output, session) {
output$map <- renderLeaflet({
leaflet() %>%
addTiles() %>%
addCircles(lng = -80, lat = 30, radius = 100, popup = as.character("Test"))
}) #END RENDERLEAFLET
}
)
style.css文件如下所示,并保存在Shiny app目录中的www
文件夹中:
<style>
.custom-popup .leaflet-popup-content-wrapper {
background: #DB0925;
color:#fff;
font-size:16px;
line-height:24px;
}
.custom-popup .leaflet-popup-content-wrapper a {
color:rgba(255,255,255,0.5);
}
.custom-popup .leaflet-popup-tip-container {
width:30px;
height:15px;
}
.custom-popup .leaflet-popup-tip {
border-left:15px solid transparent;
border-right:15px solid transparent;
border-top:15px solid #2c3e50;
}
</style>
<div class='custom-popup' id='map'></div>
我怀疑我的css文件的路径是问题。当我按原样运行此代码时,出现以下错误:
文件中的警告(con,&#34; r&#34;):文件(&#34;&#34;)仅支持open =&#34; w +&#34;和 open =&#34; w + b&#34;:使用前者
任何解决方案如何使其工作?
答案 0 :(得分:2)
Icaro Bombonato带领我解决了问题!在{i}中,所有必要的内容都是tags$head(includeCSS(system.file('www', 'style.css', package = 'myPackage'))),
,而不是includeCSS("style.css")
。 style.css
文件也位于我的主要Shiny目录中,而不是www文件夹中。