mzu*_*uba 3 css r leaflet r-leaflet
我想修改R中的传单弹出窗口的外观。
帮助文件规定,...在popupOptions()功能以“传递给Javascript对象的构造基本额外的选项。”
在此示例中,该style选项设置为可修改标记外观的CSS参数列表:
addMarkers(
lng = -118.456554, lat = 34.075,
label = "Label w/ custom CSS style",
labelOptions = labelOptions(noHide = T, direction = "bottom",
style = list(
"color" = "red",
"font-family" = "serif",
"font-style" = "italic",
"box-shadow" = "3px 3px rgba(0,0,0,0.25)",
"font-size" = "12px",
"border-color" = "rgba(0,0,0,0.5)"
)))
Run Code Online (Sandbox Code Playgroud)
但是,此方法似乎不适用于Popups,如以下最小工作示例所示:
if (!require("pacman")) install.packages("pacman")
pacman::p_load(leaflet, eurostat, dplyr)
map <- get_eurostat_geospatial() %>% subset(., .$NUTS_ID == "AT11")
leaflet() %>%
addPolygons(data = map ,
group = map$NUTS_ID,
fillColor = "grey",
weight = 1,
color = "black") %>%
addPopups(lng = 16.3, lat = 47, popup = "Paint it black!",
options = popupOptions(closeButton = FALSE,
opacity = 0.5,
style = list("background" = "black",
"padding" = "2px",
"border-radius" = "0px")))
Run Code Online (Sandbox Code Playgroud)
一些网页解释了使用JavaScript版本的Leaflet使用CSS自定义标签的方法(例如here)。关键似乎是进行编辑.leaflet-popup-tip和.leaflet-popup-content-wrapper。但是我该怎么做R(不使用Shiny)呢?
相关:此问题,但是仅解决修改弹出窗口中的元素而不是弹出窗口本身的问题。
我欢迎任何建议。
也许您可以使用该软件包htmltools来获得所需的东西。
map2 <- leaflet() %>%
addPolygons(data = map ,
group = map$NUTS_ID,
fillColor = "grey",
weight = 1,
color = "black") %>%
addPopups(lng = 16.3, lat = 47, popup = "Paint it black!")
library(htmltools)
browsable(
tagList(list(
tags$head(
tags$style(
".leaflet-popup-content-wrapper {
background: black;
color: #ffffff;
padding: 2px;
border-radius: 0px;
}
"
)
),
map2
))
)
Run Code Online (Sandbox Code Playgroud)