在R中修改Leaflet弹出窗口

4
我希望修改R中leaflet弹出窗口的外观。
帮助文件指出,在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)"
      )))

然而,同样的方法似乎无法处理弹出窗口,正如这个最小化的工作示例所展示的一样:
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")))

一些网页使用javascript版本的Leaflet(例如这里),解释了如何使用CSS自定义标签。关键似乎是编辑.leaflet-popup-tip.leaflet-popup-content-wrapper。但我该如何在R中实现此操作(不使用Shiny)?
相关:此问题只涉及修改弹出窗口内的元素,而不是弹出窗口本身。
欢迎任何建议。
1个回答

8
也许您可以使用包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
  ))
)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接