Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL
Switch branches/tags
1ec5-hani-switch-demo 1ec5-macos-srgb-13386 1ec5-predicate-editor 1ec5-quick-look 1ec5-style-record 1ec5-tvos 1ec5-update-constraints-12142 3.5.4-patch 5456-android-core-tests-cmake 5456-android-core-tests 5836-chained-animations-bug 5942-merge-iproj-and-xproj 7040-dateline-flickering-alternative 7217-disable-gesture-handlers 7878_dont_disable_tracking_on_gestures 8048-android-sqlite 8688-anisotropic-filtering 9096-debug 9419-invisible-marker-views-performance 10917-profile-sdk-performance 12044-android-query-test 13005-camera-fits-shape-with-pitch MGLShapeSourceOptionLineDistanceMetrics ahm-custom-layer-fix akitchen-test-attribution-layout al-fix-repos alexshalamov_fix_for_13378 alexshalamov_queryFeatureExtensions anderco-rerun-cmake-on-source-list-change android-core-tests-v2 android-semver android-v5.1.0-route-demo backup_cloer_text_pitch_scaling blob bounds-tests branch-2017-01-16 bs-annotation-node bs-telem-api bucket-bitset bwg-vs2017-2 bwg-vs2017 circle-layout cloer-port-circle-query-fix cloer_glyph_sanity_check cloer_harfbuzz cloer_icon_fragment_rounding cloer_no_parentheses_break cocos2d-workaround convert-inline coretext-hack cp-iowaska curl-dynamic custom-queries dan-nav-debug drop-stencil-clipping ds-jk-line_bucket egl-swiftshader fabian-cn-aspects fabian-dismiss-automatically fabian-dynamic-type-7030 fabian-fix-visible-annotations-in-rect fabian-ibinspectable-8071 fabian-load-style-10160 fabian-multi-polygon-coordinate fabian-shape-polyline-2082 fabian-snapshot-attribution fabian-transition-13408 fb-bench-view-annotations-12895 fb-bench-view-annotations fb-expression-tests-from-js fb-ios-beefier-tests fb-ios-v4.6.0-alpha.1 fb-nightly-iosapp feature-state-changesets feature-state fix-11357 fix-gcc-wcatch-value fix/bounds-validation-message fix/handle-403s formatted-text fred/layout-anchors friedbunny-adjusts-circle-job-counts friedbunny-updates-localization-for-streets-v8 fuzzing generate-tons geojson-query-fix geometrytilefeature-getvalue-no-optional gh-pages gl-bindings glcontextmode gradient half-float-textures heatmap-ios-demo heatmap-rebased heatmap-updated-render-tests image-test investigate-13282 ios-v3.4.0-arabic ios8-release-gazpacho ios8-release-iowaska islandstwo ivd-android-glsurfaceview-3tier ivd-geojson-conversion-tests ivovandongen-6055 jk-nb-pod-try jmkiley-add-codecov jmkiley-cp-13427 jmkiley-cp-13476 jmkiley-debug-opengllayer jmkiley-horizontal-quickzoom jmkiley-rebase jmkiley-restore-ios8 jmkiley-snapshotter-turnstile jrex-11275-render-display-link-test jrex-11609-convertCoordinateBounds-antimeridian jrex-addAnnotation-boundary-coords jrex-custom-layer-style-changed-leak-3 jrex-events-timeout-handler jrex-macosapp-visible-annotations jrex/annotation-selection-delegate jrex/background-timeout-handling jrex/generate-linker-map-file jrex/4.7.0-info-plist-keys jrex/4352-resize-mapview jrex/12442-get-leaves jrex/12740-user-dot-jitters kkaefer-drawable less-logging line-crash-fix linepattern-dds lloyd-snapshotter-turnstile lloyd-ui-position lloyd-update-events log-ios-binary-size-nb lorn-android-china lp-13014-projected-immediate-animation lp-13173-formatted-plain-text-getter lp-13243-location-transition-handler lp-13310-dialog-crash lp-backport-13508-horchata lp-expressions-example lp-info-window-on-layer lp-lifecycle-components lp-local-db-test lp-selected-symbol-example lp-sideload-cache lp-style-build lp-tile-count ls-android-readme-tweaks make-stale-resources-renderable map-api-cleanup mapbox-feature master match-shorthand mikhail_LayerTypeInfo mikhail_image mikhail_no_async_unwind_tables molly_cloer_9457 nb-tile-count new-set-camera nitpick-format no-divide-by-zero no-static-annotations no-v7 node-annotation node-v3.5.5 nodemap-release-frontend offline-concurrency offlinedb-test opengl-glTexSubImage2D optimize-dem-tex optional-chromium optional optional2 osana-lat-lng-donotwrap osana-latlngunwrapbounds osana-offline-event osana-offline osana-unwrapBeforeCallingCore overflow_fix_fred_mikhail padded-angle-correction patch-1 pg-11125-test pg-mapbox-android-sdk-boba-snapshot pin-annotation-nb pitch-67.5-degrees pitch-without-altitude-change port-antimeridian-fix-debug qt-staging-5.11.0 qt-staging rclee-events-logging rclee rebase_text_pitch_scaling release-agua release-android-v6.0.0 release-android-v6.0.1 release-android-v7.0.0-alpha.1 release-boba release-chai release-drink release-espresso release-frappe release-gazpacho release-horchata release-ios-v3.4.0 release-ios-v3.5.0-android-v5.0.0 release-ios-v3.6.0-android-v5.1.0 release-iowaska release-node-v3.5 remove_filesource_exceptions standalone-build-script standalone-vector-tile-library start-collision-bench start-collision-two-pass style-persistent-transition-options swiftshader symbol-stencil-clip terrain-rendering test-flashing-symbols text_pitch_scaling themics-android-localglyphrasterizer-reusing tilecover-fuzztest tmpsantos-core_build tmpsantos-gl_loader tmpsantos-isolate_core_build tmpsantos-platform transformstate-refactor tvn-accu-problem-resolve tvn-android-x tvn-bind-gen-greeter tvn-bind-gen tvn-build-adjustments tvn-bump-ci-image tvn-bump-snapshot-major tvn-bump-snapshot tvn-bump-tooling tvn-cameraupdate-equals tvn-closable-strict-mode tvn-code-gen-all tvn-code-gen-symbols tvn-cp-changelog tvn-cp-v6.6.1 tvn-cp-v6.6.2 tvn-dialog-dismiss tvn-dont-wrap-bounds tvn-downstream-module tvn-expose-apibaseurl tvn-expression-for-new-property tvn-faster-onmapready tvn-fix-getmapasync tvn-fragment-tests tvn-gtest-android tvn-harden-removed-sources tvn-java-8-removal tvn-layers-as tvn-line-gradient-integration tvn-locale tvn-move-mapboxmaptest-to-unit tvn-move-tests tvn-next-gen-cluster-android tvn-next-gen-cluster tvn-null-check-weakreference tvn-perf-test-config tvn-perf-tests-ci tvn-perf-tests tvn-prioritise-style-loading tvn-proguard-fix tvn-proguard-update tvn-query-snapshot-wip tvn-remove-markerview tvn-remove-nunicode-2 tvn-remove-wait-for-layer tvn-snapshot-bump tvn-store-debug-symbols tvn-style-json-mapboxmap-options tvn-timber-log tvn-translatable-telemetry-settings tvn-update-changelog-release tvn-update-changelog-security tvn-v6.6.5 tvn-wip-collator user-location-delegate-demo vendor-nunicode webp-darwin wip-transformstate xcodebuild-incremental
Nothing to show
Clone or download
Chaoba [Android] Add setPreferredFramesPerSecond for MapView (#13498)
* [Android] Add setPreferredFramesPerSecond for MapView
Latest commit 2d527c2 Dec 12, 2018
Permalink
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] Cleanup Transform, use {jump,ease}To() instead Nov 27, 2018
bin [build] use newer compiler versions for some builds Nov 28, 2018
cmake [core, android, darwin] Move layer factories to separate files Dec 10, 2018
include/mbgl [docs] EnterIdle -> BecomeIdle Dec 11, 2018
mapbox-gl-js @ 8e267fe [core] Do not consider X axis when constraining scale Nov 29, 2018
misc [linux] update CA bundles used by cURL Nov 14, 2018
platform [Android] Add setPreferredFramesPerSecond for MapView (#13498) Dec 12, 2018
scripts [core, darwin, android] Add onDidEnterIdle to MapObserver. Dec 11, 2018
src [core] Avoid divide-by-zero when transition duration is 0.. Dec 11, 2018
test [core] OverscaledTileID::isChildOf should check wrap values. Nov 30, 2018
vendor [core] use constexpr map using eternal for expression lookups Dec 4, 2018
.clang-format Scope the Tile worker thread to an Environment Mar 18, 2015
.clang-tidy [tidy] Disable clang-analyzer-core.{NullDereference,NonNullParamChecker} May 12, 2017
.gitignore [build] Add Visual Studio Code ignores Nov 26, 2018
.gitmodules [core] use constexpr map using eternal for expression lookups Dec 4, 2018
.topissuesrc [❤️] Create .topissuesrc (#8568) Mar 30, 2017
.ycm_extra_conf.py [build] Added Qt{4,5} Linux build folders to YCM config Nov 9, 2017
ARCHITECTURE.md [docs] Update ARCHITECTURE.md for immutability and RenderStyle split Jun 6, 2017
CHANGELOG.md Name tweak (#13520) Dec 7, 2018
CMakeLists.txt [core, build] Use -Os for RelWithDebInfo darwin builds Dec 5, 2018
CODE-OF-CONDUCT.md [build] Separate CODE-OF-CONDUCT.md to its own file Jul 19, 2017
CONTRIBUTING.md [ios, macos] Rename the iOS and macOS SDKs (#10610) Dec 6, 2017
DEVELOPING.md Update DEVELOPING.md Jul 30, 2018
INSTALL.md [docs] Make per-platform installation docs self-contained Apr 30, 2018
LICENSE.md [android] - added Android licenses make target Jun 14, 2018
Makefile [build] Set CMAKE_EXPORT_COMPILE_COMMANDS=ON by default Nov 26, 2018
README.md Switch code coverage system to CodeCov (#13297) Nov 8, 2018
appveyor.yml [qt][build] Use the latest version of Qt available on AppVeyor Nov 13, 2018
ci.template [all] - move cloudformation to be mbxcli compatible Nov 8, 2018
circle.yml [build] use newer compiler versions for some builds Nov 28, 2018
codecov.yml increase threshold to 1% (#13364) Dec 1, 2018
package.json [core] Support fill-extrusion-vertical-gradient Nov 29, 2018

README.md

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:

Toolkit Android iOS Developer
React Native (npm) Mapbox
NativeScript (npm) Telerik

If your platform or hybrid application framework isn’t listed here, consider embedding Mapbox GL JS using the standard Web capabilities on your platform.

License

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

FOSSA Status