在 R 中:使用 leaflet - 以编程方式创建包含许多图标的 iconList

Vla*_*lad 2 r leaflet

我正在使用带有 R 的传单来创建一个图标集以在地图上显示,问题是我找不到一种方法来优雅地使用许多图标来完成它。

这有效:

myIconList <- iconList(myIcon[[1]], myIcon[[2]], myIcon[[3]], myIcon[[4]])
Run Code Online (Sandbox Code Playgroud)

每个列表项都是一个图标。这很好,但行不通:

myIconList <- iconList(myIcon)
Run Code Online (Sandbox Code Playgroud)

如果有一种方法可以迭代/连接到iconList,那也很好。

Geo*_*imm 5

好吧,我参加聚会已经很晚了,但我也在为此苦苦挣扎,也许其他人也是如此。如果您检查该iconList函数的内部结构,您会看到以下内容:

function (...) 
{
    res = structure(list(...), class = "leaflet_icon_set")
    cls = unlist(lapply(res, inherits, "leaflet_icon"))
    if (any(!cls)) 
        stop("Arguments passed to iconList() must be icon objects returned from makeIcon()")
    res
}
Run Code Online (Sandbox Code Playgroud)

该函数所做的唯一事情iconList是将列表的类从 更改listleaflet_icon_set。这允许闪亮的 JavaScript 底层传单与图标列表正确交互。您所要做的就是像通常在 R 中那样创建列表,然后手动更改类:

# assuming myIcon is a list of outputs from makeIcon
class(myIcon) <- "leaflet_icon_set"
Run Code Online (Sandbox Code Playgroud)

这对我有用,我希望它也对你有用!