knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "man/figures/README-", out.width = "100%" )
mapboxer
makes Mapbox GL JS,
an open source JavaScript library that uses WebGL to render interactive maps,
available within R via the htmlwidgets package.
mapboxer
provides bindings to v1.x.x of Mapbox GL JS, which is under the 3-Clause BSD license. See also breaking changes in Mapbox GL JS v2.0.0.
Install the release version from CRAN with:
install.packages("mapboxer")
Install the development version from GitHub with:
# install.packages("remotes") remotes::install_github("crazycapivara/mapboxer")
library(mapboxer) map <- motor_vehicle_collisions_nyc %>% dplyr::mutate( color = ifelse(injured == 0, "yellow", "red") ) %>% as_mapbox_source() %>% mapboxer( center = c(-73.9165, 40.7114), zoom = 10 ) %>% add_navigation_control() %>% add_circle_layer( circle_color = c("get", "color"), circle_blur = 1, circle_stroke_color = "red", circle_stroke_width = 1, popup = "<p>{{date}} {{time}}</p><p>Number of persons injured: {{injured}}</p>" ) if (interactive()) map
By default mapboxer uses Carto vector styles as basemaps. It is also possible to use raster tiles or a background color.
If you want to use styles from Mapbox it is recommended that you store your API token in an environment vatiable called MAPBOX_API_TOKEN
.
All JavaScript code of mapboxer is located in javascript/src
.
Install dependencies and build the library with:
npm install npm run build
The module is written to inst/htmlwidgets
.
Spin up the dev server with:
npm run start
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.