Я пытаюсь реализовать функцию purrr
*1001* для добавления слоев на карту leaflet
, но пытаюсь уменьшить результат.
Когда я запускаю этот код, я получаю список, в котором каждый элемент представляет собой отдельную карту листовки (сгенерированную правильно). Обычно слои добавляются в карты листовок, начиная с существующей карты и используя функции add
.
Я прошу прощения за то, что не делал представлений, но данные слишком велики / сложны, чтобы включать их здесь.
Есть ли у кого-нибудь предложения о том, как объединить / уменьшить получающиеся слои, которые в итоге получатся как отдельные карты в списке?
layerlst <- lst(all_births = tibble(map = T,
group = "All Births",
pal = "Greens",
datacol = "births_all_births"),
birth_rate = tibble(map = T,
group = "Birth Rate",
pal = "Greens",
datacol = "birth_rate"))
mymap <- leaflet()
mymap <- layerlst %>%
purrr::map(function(layer) {
palette <- colorNumeric(
palette = layer$pal,
domain = range(select(cdc, !!layer$datacol), na.rm = T)
)
mymap %>%
addProviderTiles("CartoDB.Positron", group = layer$group) %>%
addPolygons(data = cdc_geo,
fillColor = ~palette(cdc_geo@data %>% pull(!!layer$datacol)),
color = "#b2aeae",
fillOpacity = 0.7,
weight = 1,
smoothFactor = 0.2,
popup = popup,
group = layer$group) %>%
addLegend(pal = palette,
values = cdc_geo@data %>% pull(!!layer$datacol),
#labFormat = labelFormat(transform = function(x) 100*x, suffix = "%"),
position = "bottomleft",
title = layer$group)
}
)
Выполнение mymap[1]
и mymap[2]
для правильного просмотра результата дает каждый слой.