The Mapbox Maps SDK 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 also powers the Mapbox Static API, which produces static map images on the server side for situations where interactivity is unnecessary or impractical. Mapbox Studio supports high-resolution printing based on Mapbox GL. The Mapbox Maps SDK for Android and iOS is the basis of the Mapbox Navigation SDK for Android and iOS.

Contents

Libraries

The Mapbox Maps SDK is available as a freely downloadable library on a number of platforms. Version numbers vary by platform. 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. The Android, iOS, macOS, Qt, and Node libraries are collectively referred to as “Mapbox GL Native”, since they target native platform technologies via compiled languages.

The Qt Location API in Qt 5.9 and the Qt Automotive Suite includes a Mapbox GL geoservices plugin based on the Mapbox Maps SDK for Qt. The Mapbox Maps SDK for Unity and the Mapbox SceneKit SDK are not based on Mapbox GL but nonetheless support many of the same technologies.

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

MapboxStatic.swift in Swift, Objective-C, and AppleScript on iOS, macOS, tvOS, and watchOS

Features

The Mapbox Maps SDK'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.

The GL JS roadmap lists current and upcoming priorities for Mapbox GL JS and, by extension, the other SDKs.

History

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.

The Mapbox Qt SDK and Mapbox OS X SDK launched in May 2016; the latter was renamed “Mapbox macOS SDK”. In June 2017, the Mapbox Qt SDK was incorporated into Qt 5.9 and the Qt Automotive Suite as the “Qt Location Mapbox GL plugin”. [1] React Native Mapbox GL relaunched as an official Mapbox product in September 2017. The Android, iOS, macOS, and Qt SDKs were renamed to the “Mapbox Maps SDK” in November and December 2017.

Telemetry

The Mapbox Maps SDK for Android and iOS features Mapbox Telemetry, a component that sends the user's location to Mapbox servers in anonymized, aggregated form. This data is either collected at all times or while the application is in use, depending on the application's configuration. Mapbox uses the collected location data for the purpose of:

Helping the Mapbox Data Team target improvements to OpenStreetMap where they're most needed. For example, if a high volume of location data points indicates that drivers consistently avoid turning left at a given intersection, the team can enter a turn restriction into OpenStreetMap with greater confidence.

The SDKs provide an option for privacy-conscious end users to turn off Mapbox Telemetry at any time. More information about Mapbox Telemetry, including how Mapbox uses this data while protecting users' privacy and minimizing battery usage.