Mapbox GL

From OpenStreetMap Wiki
Jump to: navigation, search
Available languages — Mapbox GL
Afrikaans Alemannisch aragonés asturianu azərbaycanca Bahasa Indonesia Bahasa Melayu Bân-lâm-gú Basa Jawa Baso Minangkabau bosanski brezhoneg català čeština dansk Deutsch eesti English español Esperanto estremeñu euskara français Frysk Gaeilge Gàidhlig galego Hausa hrvatski Igbo interlingua Interlingue isiXhosa isiZulu íslenska italiano Kiswahili Kreyòl ayisyen kréyòl gwadloupéyen Kurdî latviešu Lëtzebuergesch lietuvių magyar Malagasy Malti Nederlands Nedersaksies norsk bokmål norsk nynorsk occitan Oromoo oʻzbekcha/ўзбекча Plattdüütsch polski português português do Brasil română shqip slovenčina slovenščina Soomaaliga suomi svenska Tiếng Việt Türkçe Vahcuengh vèneto Wolof Yorùbá Zazaki српски / srpski беларуская български қазақша македонски монгол русский тоҷикӣ українська Ελληνικά Հայերեն ქართული नेपाली मराठी हिन्दी অসমীয়া বাংলা ਪੰਜਾਬੀ ગુજરાતી ଓଡ଼ିଆ தமிழ் తెలుగు ಕನ್ನಡ മലയാളം සිංහල ไทย မြန်မာဘာသာ ລາວ ភាសាខ្មែរ ⵜⴰⵎⴰⵣⵉⵖⵜ አማርኛ 한국어 日本語 中文(简体)‎ 吴语 粵語 中文(繁體)‎ ייִדיש עברית اردو العربية پښتو سنڌي فارسی ދިވެހިބަސް
Mapbox GL
Screenshot of Mapbox GL
Author: Mapbox
Source code:
Version: Varies by platform
Install: Google Play
License: BSD
Platforms: Android, iOS, Linux, macOS, Node.js, Qt, Unity, Web
Programming languages: AppleScript, C++, Java, JavaScript, Objective-C, Swift

Embed customizable, interactive vector maps in Web, mobile, and desktop applications

Mapbox GL is a suite of open-source libraries developed by Mapbox for embedding customizable slippy maps in Web, mobile, and desktop applications. There is also a library for building server-side or command-line rendering tools.

Mapbox GL takes stylesheets that conform to the Mapbox Style Specification, applies them to vector tiles that conform to the Mapbox Vector Tile Specification via TileJSON manifests, and renders them dynamically using OpenGL for high performance. By default, Mapbox GL displays Mapbox Streets vector tiles based on OpenStreetMap data. The developer can choose among several Mapbox-designed styles or design a custom style in the graphical style editor of Mapbox Studio.

Mapbox GL libraries

The following libraries are officially supported by Mapbox, except for the macOS SDK. The macOS SDK is community-maintained, although it shares the majority of its code with the Mapbox-developed iOS SDK.

Library Platform Target languages Latest release
Mapbox GL JS Web JavaScript Download
Mapbox Android SDK Android Java Look for “android-”
Mapbox iOS SDK iOS Objective-C, Swift, Interface Builder Look for “ios-”
Mapbox macOS SDK macOS Objective-C, Swift, Interface Builder, AppleScript Look for “macos-”
Mapbox Qt SDK Qt C++03, QML N/A
node-mapbox-gl-native Node.js JavaScript Look for “node-”

Some compatibility libraries for hybrid application toolkits are contributed by Telerik and other members of the Mapbox developer community:

There is also an experimental plugin for Unity.


Mapbox GL's feature set varies by platform. In general, rendering features are added to Mapbox GL JS first then ported to the native SDKs, while smartphone-centric features tend to be specific to the native SDKs.

This table was last updated 04:19, 17 October 2016 (UTC).

Feature JS Android iOS macOS Qt node
OSM base map Yes Yes Yes Yes Yes Yes
Terrain base map Yes Yes Yes Yes Yes Yes
Satellite base map Yes Yes Yes Yes Yes Yes
Custom styles Yes Yes Yes Yes Yes Yes
Continuous zooming Yes Yes Yes Yes Yes Yes
Rotation Yes Yes Yes Yes Yes Yes
Perspective (tilt, pitch) Yes Yes Yes Yes Yes Yes
3D building extrusion Yes No
Viewport animation Yes Yes Yes Yes Yes N/A
Multitouch gestures Partial Yes Yes Yes Yes N/A
Markers (point annotations) Yes Yes Yes Yes Yes No
Marker views (view-backed annotations) Yes Yes Yes No No No
Marker keyframe animation No Yes Yes No No N/A
Shape overlays (shape annotations) No Yes Yes Yes Yes No
Arbitrary GeoJSON Yes Unreleased Unreleased Yes Yes
GeoJSON point clustering Yes Unreleased Unreleased Unreleased No Unreleased
Popups (callouts, popovers, info windows) Yes Yes Yes Yes No N/A
Tooltips No N/A N/A Yes No N/A
Embedded video Yes No N/A
User location (user dot) Partial Yes Yes No No N/A
Customizable user dot Yes Yes Unreleased No No N/A
User location tracking (GPS tracking) N/A Yes Yes N/A N/A N/A
Telemetry No Optional Optional No No No
Offline maps No Yes Yes Yes Yes No
WMS Yes Unreleased Unreleased Yes Yes Yes
TMS Yes Unreleased Unreleased Unreleased Yes Unreleased
Attribution control Yes Yes Yes Yes No No
Scale control Yes In progress No No No No
Data-driven styling (property functions) Yes No
Style introspection (runtime styling) Yes Unreleased Unreleased Yes Yes
Data introspection (feature eventing, feature querying) Yes Unreleased[a 1] Partial[a 1] Partial[a 1] No Partial[a 1]
Screenreader support (accessibility) No No Yes No No N/A
Printing No Unreleased No Yes No N/A
IDE integration (code completion, documentation) No Yes Yes Yes Yes No
Dash docset No No Yes Yes No No
  1. 1.0 1.1 1.2 1.3 Queries rendered features only.

You can track the effort to ensure feature parity between the various platforms:


Originally, Mapbox developed raster map libraries: mapbox.js for the Web; the Mapbox iOS SDK, based on Route-Me; MBXMapKit, based on Apple’s MapKit framework, also for iOS; and the Mapbox Android SDK. Over time, Mapbox has deprecated these libraries in favor of vector map libraries.

Mapbox GL JS was introduced in August 2014. An Android port began in January 2014, followed by a preview of an iOS port that June. Mapbox GL for iOS officially launched in May 2015 before being renamed “Mapbox iOS SDK”. The Mapbox Android SDK launched in October 2015. The Mapbox Qt SDK and Mapbox OS X SDK launched in May 2016; the latter was renamed “Mapbox macOS SDK”.

External links