Изменение цвета для многоугольника листовки в R

Я пытаюсь изменить цвет полигонов, нарисованных с помощью листовки и Mapzen. Цвета хорошо видны с текущими плитками, но не так сильно с другими, такими как addTiles(). Как мне изменить аргумент для трех полигонов?

Чтобы код работал, вы должны ввести ключ mapzen.

library(rmapzen)
library(leaflet)

Sys.setenv(MAPZEN_KEY = "mapzen-******")
#https://tarakc02.github.io/rmapzen/#introduction

ucb <- mz_geocode("Via Giovanni Spadolini 7, Milan, Italy")

isos <- mz_isochrone(
  ucb,
  costing_model = mz_costing$auto(),
  contours = mz_contours(c(5, 10, 15)),
  polygons = TRUE
)

leaflet(as_sp(isos)) %>%

 addProviderTiles("CartoDB.DarkMatter") %>%

 addPolygons(color = ~color, weight = 1) %>%

 addLegend(colors = ~color, 
        labels = ~paste(contour, "minutes"),
            title = "Drive times from <br/> Centro Leoni")

1 ответ

Решение

Я понял, что полигоны должны быть добавлены отдельно, а не:

leaflet(as_sp(isos))

Решение:

iso10 <- as_sp(mz_isochrone(
  ucb,
  costing_model = mz_costing$auto(),
  contours = mz_contours(10),
  polygons = TRUE
))
iso30 <- as_sp(mz_isochrone(
  ucb,
  costing_model = mz_costing$auto(),
  contours = mz_contours(30),
  polygons = TRUE
))
iso60 <- as_sp(mz_isochrone(
  ucb,
  costing_model = mz_costing$auto(),
  contours = mz_contours(60),
  polygons = TRUE
))

m = leaflet() %>%
  addProviderTiles("CartoDB.DarkMatter") %>%
  addPolygons(data = iso10, color = "red", fillColor = "red")%>%
  addPolygons(data = iso30, color = "green", fillColor = "green")%>%
  addPolygons(data = iso60, color = "blue", fillColor = "blue")
Другие вопросы по тегам