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