Learn R Programming

mapgl

The mapgl R package makes the latest versions of Mapbox GL JS and MapLibre GL JS available to R users. The package interface is designed to make the powerful capabilities of both libraries available in R mapping projects, but also feel similar to users coming from other R mapping packages.

Install from CRAN:

install.packages("mapgl")

Or, install the development version from GitHub:

remotes::install_github("walkerke/mapgl")

Read through these vignettes to learn how to use the package:

Recommended training and how to learn more

If you find this project useful in your work and would like to ensure continued development of the package, you can provide support in the following ways:

To stay on top of package updates / new features and to get information about mapgl trainings, be sure to sign up for the Walker Data mailing list here.

Copy Link

Version

Install

install.packages('mapgl')

Monthly Downloads

2,497

Version

0.3.2

License

MIT + file LICENSE

Maintainer

Kyle Walker

Last Published

July 17th, 2025

Functions in mapgl (0.3.2)

add_globe_minimap

Add a Globe Minimap to a map
add_navigation_control

Add a navigation control to a map
add_markers

Add markers to a Mapbox GL or Maplibre GL map
add_h3j_source

Add a hexagon source from the H3 geospatial indexing system.
add_image_source

Add an image source to a Mapbox GL or Maplibre GL map
add_layer

Add a layer to a map from a source
add_layers_control

Add a layers control to the map
add_heatmap_layer

Add a heatmap layer to a Mapbox GL map
add_image

Add an image to the map
add_line_layer

Add a line layer to a map
add_vector_source

Add a vector tile source to a Mapbox GL or Maplibre GL map
add_raster_layer

Add a raster layer to a Mapbox GL map
add_reset_control

Add a reset control to a map
add_raster_source

Add a raster tile source to a Mapbox GL or Maplibre GL map
add_source

Add a GeoJSON or sf source to a Mapbox GL or Maplibre GL map
add_symbol_layer

Add a symbol layer to a map
add_video_source

Add a video source to a Mapbox GL or Maplibre GL map
add_pmtiles_source

Add a PMTiles source to a Mapbox GL or Maplibre GL map
add_raster_dem_source

Add a raster DEM source to a Mapbox GL or Maplibre GL map
add_scale_control

Add a scale control to a map
clear_layer

Clear layers from a map using a proxy
clear_drawn_features

Clear all drawn features from a map
add_view

Add a visualization layer to an existing map
cluster_options

Prepare cluster options for circle layers
clear_controls

Clear all controls from a Mapbox GL or Maplibre GL map in a Shiny app
classification_helpers

Extract information from classification and continuous scale objects
ease_to

Ease to a given view
concat

Create a concatenation expression
get_column

Get column or property for use in mapping
carto_style

Get CARTO Style URL
get_drawn_features

Get drawn features from the map
mapboxgl_compare_proxy

Create a proxy object for a Mapbox GL Compare widget in Shiny
fly_to

Fly to a given view
format_numbers

Format numbers for legend labels
mapboxgl_proxy

Create a proxy object for a Mapbox GL map in Shiny
compare

Create a Compare widget
mapbox_style

Get Mapbox Style URL
clear_legend

Clear legends from a map
clear_markers

Clear markers from a map in a Shiny session
get_queried_features

Get queried features from a map as an sf object
mapboxgl

Initialize a Mapbox GL Map
interpolate

Create an interpolation expression
interpolate_palette

Create an interpolation expression with automatic palette and break calculation
jump_to

Jump to a given view
enable_shiny_hover

Enable hover events for Shiny applications
maplibreCompareOutput

Create a Maplibre GL Compare output element for Shiny
maplibre

Initialize a Maplibre GL Map
mapboxglCompareOutput

Create a Mapbox GL Compare output element for Shiny
mapboxglOutput

Create a Mapbox GL output element for Shiny
renderMapboxgl

Render a Mapbox GL output element in Shiny
maplibre_view

Quick visualization of geometries with MapLibre GL
maplibre_proxy

Create a proxy object for a Maplibre GL map in Shiny
on_section

Observe events on story map section transitions
maplibreOutput

Create a Maplibre GL output element for Shiny
maplibre_compare_proxy

Create a proxy object for a Maplibre GL Compare widget in Shiny
set_config_property

Set a configuration property for a Mapbox GL map
set_projection

Set Projection for a Mapbox/Maplibre Map
set_filter

Set a filter on a map layer
renderMaplibre

Render a Maplibre GL output element in Shiny
query_rendered_features

Query rendered features on a map in a Shiny session
legend_style

Create custom styling for map legends
maptiler_style

Get MapTiler Style URL
fit_bounds

Fit the map to a bounding box
set_rain

Set rain effect on a Mapbox GL map
step_classification

Step expressions with automatic classification
match_expr

Create a match expression
map_legends

Add legends to Mapbox GL and MapLibre GL maps
step_expr

Create a step expression
mapboxgl_view

Quick visualization of geometries with Mapbox GL
set_paint_property

Set a paint property on a map layer
renderMaplibreCompare

Render a Maplibre GL Compare output element in Shiny
set_terrain

Set terrain properties on a map
story_map

Create a scrollytelling story map
set_tooltip

Set tooltip on a map layer
set_popup

Set popup on a map layer
renderMapboxglCompare

Render a Mapbox GL Compare output element in Shiny
set_style

Update the style of a map
set_snow

Set snow effect on a Mapbox GL map
set_source

Set source of a map layer
story_maplibre

Create a scrollytelling story map with MapLibre
set_view

Set the map center and zoom level
story_leaflet

Create a scrollytelling story map with Leaflet
story_section

Create a story section for story maps
number_format

Create a number formatting expression
mapgl-package

mapgl: Interactive Maps with 'Mapbox GL JS' and 'MapLibre GL JS'
move_layer

Move a layer to a different z-position
set_layout_property

Set a layout property on a map layer
set_fog

Set fog on a Mapbox GL map
add_fill_extrusion_layer

Add a fill-extrusion layer to a Mapbox GL map
add_control

Add a custom control to a map
add_circle_layer

Add a circle layer to a Mapbox GL map
add_geocoder_control

Add a geocoder control to a map
add_features_to_draw

Add features to an existing draw control
add_fill_layer

Add a fill layer to a map
add_draw_control

Add a draw control to a map
add_fullscreen_control

Add a fullscreen control to a map
add_globe_control

Add a globe control to a map
add_geolocate_control

Add a geolocate control to a map