View source: R/google_map_layer_polygon.R
update_polygons | R Documentation |
Updates specific colours and opacities of specified polygons. Designed to be used in a shiny application.
update_polygons(
map,
data,
id,
stroke_colour = NULL,
stroke_weight = NULL,
stroke_opacity = NULL,
fill_colour = NULL,
fill_opacity = NULL,
info_window = NULL,
layer_id = NULL,
palette = NULL,
legend = F,
legend_options = NULL
)
map |
a googleway map object created from |
data |
data frame containing the data to use in the layer. If Null, the
data passed into |
id |
string representing the column of |
stroke_colour |
either a string specifying the column of |
stroke_weight |
either a string specifying the column of |
stroke_opacity |
either a string specifying the column of |
fill_colour |
either a string specifying the column of |
fill_opacity |
either a string specifying the column of |
info_window |
string specifying the column of data to display in an info window when a shape is clicked. |
layer_id |
single value specifying an id for the layer. Use this value to
distinguish between shape layers for when using any |
palette |
a function, or list of functions, that generates hex colours given a single number as an input. See details. |
legend |
either a logical indiciating if the legend(s) should be displayed, or a named list indicating which colour attributes should be included in the legend. |
legend_options |
A list of options for controlling the legend. |
Any polygons (as specified by the id
argument) that do not exist
in the data
passed into add_polygons()
will not be added to the map.
This function will only update the polygons that currently exist on the map
when the function is called.
## Not run:
map_key <- 'your_api_key'
pl_outer <- encode_pl(lat = c(25.774, 18.466,32.321),
lon = c(-80.190, -66.118, -64.757))
pl_inner <- encode_pl(lat = c(28.745, 29.570, 27.339),
lon = c(-70.579, -67.514, -66.668))
pl_other <- encode_pl(c(21,23,22), c(-50, -49, -51))
## using encoded polylines
df <- data.frame(id = c(1,1,2),
colour = c("#00FF00", "#00FF00", "#FFFF00"),
polyline = c(pl_outer, pl_inner, pl_other),
stringsAsFactors = FALSE)
google_map(key = map_key) %>%
add_polygons(data = df, polyline = 'polyline', id = 'id', fill_colour = 'colour')
df_update <- df[, c("id", "colour")]
df_update$colour <- c("#FFFFFF", "#FFFFFF", "#000000")
google_map(key = map_key) %>%
add_polygons(data = df, polyline = 'polyline', id = 'id', fill_colour = 'colour') %>%
update_polygons(data = df_update, id = 'id', fill_colour = 'colour')
df <- aggregate(polyline ~ id + colour, data = df, list)
google_map(key = map_key) %>%
add_polygons(data = df, polyline = 'polyline', fill_colour = 'colour')
google_map(key = map_key) %>%
add_polygons(data = df, polyline = 'polyline', id = 'id', fill_colour = 'colour') %>%
update_polygons(data = df_update, id = 'id', fill_colour = 'colour')
## using coordinates
df <- data.frame(id = c(rep(1, 6), rep(2, 3)),
lineId = c(rep(1, 3), rep(2, 3), rep(1, 3)),
lat = c(25.774, 18.466, 32.321, 28.745, 29.570, 27.339, 21, 23, 22),
lon = c(-80.190, -66.118, -64.757, -70.579, -67.514, -66.668, -50, -49, -51))
google_map(key = map_key) %>%
add_polygons(data = df, lat = 'lat', lon = 'lon', id = 'id', pathId = 'lineId')
google_map(key = map_key) %>%
add_polygons(data = df, lat = 'lat', lon = 'lon', id = 'id', pathId = 'lineId') %>%
update_polygons(data = df_update, id = 'id', fill_colour = 'colour')
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.