如何在循环中向传单地图添加多个提供者图块

Phi*_*van 4 r leaflet

我想生成一系列addProviderTiles以添加到leaflet地图中。考虑以下矢量是我想要添加到传单对象的提供者图块的情况。

providers <- c("Stamen.TonerLite", "Stamen.Watercolor", "CartoDB.Positron", "Acetate.terrain")
Run Code Online (Sandbox Code Playgroud)

我试过了:

pTiles <- lapply(providers, addProviderTiles)
Run Code Online (Sandbox Code Playgroud)

但我遇到了错误:

 Error in map$dependencies : $ operator is invalid for atomic vectors
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中,我可能有任意数量的提供者图块或图层要添加到地图中,因此自动生成传单地图非常重要,而不是硬输入,例如:

leaflet() %>%
    addProviderTile(x) %>%
    addProviderTile(y) ... 
Run Code Online (Sandbox Code Playgroud)

Nis*_*ara 5

怎么样:

providers <- c("Stamen.TonerLite", "Stamen.Watercolor", "CartoDB.Positron", "Acetate.terrain")
map = leaflet()
for(i in 1:length(providers)){
    map = map %>% addProviderTiles(providers[i], group = providers[i])
}

map = map %>% addLayersControl(
        baseGroups = providers,
        options = layersControlOptions(collapsed = FALSE))

map
Run Code Online (Sandbox Code Playgroud)