在R:使用传单 - 以编程方式创建一个带有许多图标的iconList

时间:2016-08-25 04:35:52

标签: r leaflet

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

这有效:

myIconList <- iconList(myIcon[[1]], myIcon[[2]], myIcon[[3]], myIcon[[4]])

每个列表项都是一个图标。这样会很好,但它不起作用:

myIconList <- iconList(myIcon)

如果有办法迭代/连接到iconList,那也没关系。

1 个答案:

答案 0 :(得分:2)

嗯,我参加派对的时间已经很晚了,但我也在努力解决这个问题,其他人也是如此。如果您查看了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
}

iconList函数唯一要做的就是将列表的类从list更改为leaflet_icon_set。这允许光泽的javaScript底层传单与图标列表正确交互。您所要做的就是像往常一样在R中创建列表,然后手动更改类:

# assuming myIcon is a list of outputs from makeIcon
class(myIcon) <- "leaflet_icon_set"

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