Platform integration callback for platforms that do not have full run loop integration or don't want to block at the Mapbox GL Native loop. It will be called from any thread and is up to the platform to, after receiving the callback, call RunLoop::runOnce() from the same thread as the Map object lives.
Mapbox GL Native
A C++ library that powers customizable vector maps in native applications on multiple platforms by taking stylesheets that conform to the Mapbox Style Specification, applying them to vector tiles that conform to the Mapbox Vector Tile Specification, and rendering them using OpenGL or Metal.
To embed interactive maps into a native application using a platform-specific language, install the Mapbox Maps SDK:
- Mapbox Maps SDK for Android (Java, Kotlin)
- Mapbox Maps SDK for iOS (Objective-C, Swift, Interface Builder)
- Mapbox Maps SDK for macOS (Objective-C, Swift, Interface Builder, AppleScript)
Mapbox GL JS is the WebGL-based counterpart to Mapbox GL Native that is designed for use on the Web.
Developing
We use CMake to build Mapbox GL Native for various platforms, including Linux, Android, iOS, macOS and Windows. The following command, executed from the root of this repository tree, will build Mapbox GL Native targeting your host architecture given that you have all the dependencies installed and run the example app.
$ git submodule update --init --recursive
$ cmake . -B build
$ cmake --build build
$ MAPBOX_ACCESS_TOKEN=my_access_token_here ./build/platform/glfw/mbgl-glfw
License
Mapbox GL Native is licensed under the 2-Clause BSD license. The licenses of its dependencies are tracked via FOSSA: