Skip to content
Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL
C++ Java Objective-C++ Objective-C Kotlin JavaScript Other
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Updated Info.plist docs. (#13436) Nov 26, 2018
.tx [ios, macos] Add Italian settings translations. (#12908) Oct 2, 2018
benchmark [core] Force getGeometries() return const ref Jul 24, 2019
bin improve offline cli help page Jun 7, 2019
cloudformation [build] clean up cloudformation template and policies Jul 1, 2019
cmake [core] Switch test build to googletest git submodule Aug 1, 2019
include/mbgl Indroduce clusterProperty option for aggregation (#15287) Aug 16, 2019
mapbox-gl-js @ f818169 [core] Bump gl-js version Aug 15, 2019
misc [build] Use mapbox-base optional Jul 29, 2019
platform [android] move #15398 out of `v8.3.0-alpha.3` changelog (#15401) Aug 16, 2019
render-test [test runner] Expectations paths are represented with std::vector Aug 16, 2019
scripts [build] Look further back for branch merge base Aug 13, 2019
src [core] Fix layer impl cast in render layer implementations Aug 16, 2019
test [core][test] fix leaks from sqlite usage Aug 16, 2019
vendor Indroduce clusterProperty option for aggregation (#15287) Aug 16, 2019
.clang-format Scope the Tile worker thread to an Environment Mar 18, 2015
.clang-tidy [core] clang-tidy fixes Apr 5, 2019
.gitignore [ios, macos] Optionally include a developer xcconfig file in generate… Jun 14, 2019
.gitmodules [core] Add googletest git submodule Aug 1, 2019
.topissuesrc [❤️] Create .topissuesrc (#8568) Mar 30, 2017 [build] Added Qt{4,5} Linux build folders to YCM config Nov 9, 2017 [docs] Update for immutability and RenderStyle split Jun 6, 2017 Name tweak (#13520) Dec 7, 2018
CMakeLists.txt [core] Implement C++ render test runner Jun 25, 2019 [build] Separate to its own file Jul 19, 2017 [android] small naming tweaks made to mention of Android Maps SDK (#1… Apr 5, 2019 Update Jul 30, 2018 [docs] Make per-platform installation docs self-contained Apr 30, 2018 [all] - update licenses to 2019 Jan 4, 2019
Makefile add back test-memory target, removed in 692fe1f (#15383) Aug 15, 2019 Removed hybrid library table from readme Mar 6, 2019
appveyor.yml [build] Replace geometry.hpp/variant with mapbox-base Jul 26, 2019
circle.yml [build] do not skip tag-initiated builds Aug 16, 2019
codecov.yml increase threshold to 1% (#13364) Dec 1, 2018
package.json [build] Skip CI jobs if there are no relevant changed files Aug 8, 2019

Mapbox GL Native

A library for embedding interactive, customizable vector maps into native applications on multiple platforms. It takes stylesheets that conform to the Mapbox Style Specification, applies them to vector tiles that conform to the Mapbox Vector Tile Specification, and renders them using OpenGL. Mapbox GL JS is the WebGL-based counterpart, designed for use on the Web.

The Mapbox GL ecosystem

This repository hosts the cross-platform Mapbox GL Native library, plus convenient SDKs for several platforms. The cross-platform library comes with a GLFW-based demo application for Ubuntu Linux and macOS. The SDKs target the usual languages on their respective platforms:

SDK Languages Build status
Mapbox GL Native C++14 Circle CI build status Coverage Status
Mapbox Maps SDK for Android Java Circle CI build status
Mapbox Maps SDK for iOS Objective-C or Swift Circle CI build status
Mapbox Maps SDK for macOS Objective-C, Swift, or AppleScript Circle CI build status
node-mapbox-gl-native Node.js Circle CI build status
Mapbox Maps SDK for Qt C++03 Circle CI build status AppVeyor CI build status

Additional Mapbox GL Native–based libraries for hybrid applications are developed outside of this repository. If your platform or hybrid application framework isn’t listed there, consider embedding Mapbox GL JS using the standard Web capabilities on your platform.


Mapbox GL Native is licensed under the 3-Clause BSD license. The licenses of its dependencies are tracked via FOSSA:

FOSSA Status

You can’t perform that action at this time.