Skip to contents

Add a line layer to a map or map proxy

Usage

add_line_layer(
  map,
  id,
  source,
  paint = NULL,
  layout = NULL,
  popup_column = NULL,
  hover_column = NULL,
  can_cluster = FALSE,
  under_id = NULL,
  filter = NULL,
  ...
)

Arguments

map

The map object or map proxy to which the layer will be added.

id

A unique identifier for the layer.

source

The data source for the layer, if not a GeoJSON, it will be converted.

paint

A list of paint options for styling the layer. See get_paint_options() for defaults and options.

layout

A list of layout options for the layer. See get_layout_options() for defaults and options.

popup_column

The column name to use for popups. Default is NULL.

hover_column

The column name to use for hover effects. Default is NULL.

can_cluster

Whether the layer can be clustered. Default is FALSE.

under_id

The ID of an layer already on the map to place this layer under. Default is NULL.

filter

A filter expression to apply to the layer. Default is NULL. See get_layer_filter() for more details on how to create filter expressions.

...

Additional arguments to include in the layer definition.

  • clusterOptions: A list of options for clustering, if can_cluster is TRUE. See the cluster vignette for details on available options.

Value

The updated map object with the line layer added.

Examples

# Load libraries
library(spData)
library(sf)

seine_data <- spData::seine |>
  sf::st_transform(4326)

map() |>
 set_bounds(bounds = seine_data, padding = 100) |>
 add_line_layer(
   id = "seine_lines",
   source = seine_data,
   hover_column = "name"
 )
map() |> set_bounds(bounds = seine_data, padding = 100) |> add_line_layer( id = "seine_lines", source = seine_data, hover_column = "name", paint = get_paint_options( "line", options = list( colour = get_column_group( "name", c("Marne" = "#014f86", "Seine" = "#61a5c2"), "#a9d6e5" ), line_width = get_column_group("name", c("Seine" = 3), 1) ) ) )