Mapbox Maps SDK for iOS

The Mapbox Maps SDK for iOS is an open-source framework for embedding interactive map views with scalable, customizable vector maps into Cocoa Touch applications on iOS 9.0 and above using Objective-C, Swift, or Interface Builder. 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 Maps SDK for iOS screenshots

For setup information, check out the Mapbox Maps SDK for iOS homepage. For detailed usage instructions, read “First steps with the Mapbox Maps SDK for iOS” and consult the online examples.

If you have any questions, please see our help page. We welcome your bug reports, feature requests, and contributions.

Changes in version 5.9.0

Styles and rendering

  • Added the mgl_distanceFrom: expression function for calculating the shortest distance between the evaluated feature and an MGLPointAnnotation, MGLPointCollection, MGLPolyline, MGLMultiPolyline, MGLPolygon, or MGLMultiPolygon that you specify as part of an NSExpression format string. (#295)
  • Added the MGLCircleStyleLayer.circleSortKey property. (mapbox/mapbox-gl-native#15875)
  • Chinese, Japanese, and Korean characters are now set in the font specified in style JSON or by the MGLSymbolLayer.textFontNames property. If the named font is not installed on the device or bundled with the application, the characters are set in a fallback font listed in the MGLIdeographicFontFamilyName key in the Info.plist file. (#189)
  • The MGLIdeographicFontFamilyName key in the Info.plist file can now specify the fallback fonts for CJK characters by their PostScript names or display names in addition to font family names. For example, you can specify NotoSansCJKjp-Bold or Noto Sans CJK JP Bold, which ensures that the characters are set in bold. You can alternatively specify these font names in the MGLIdeographicFontFamilyName key of NSUserDefaults.standardUserDefaults. (#189)
  • CJK characters are now laid out according to the font, so fonts with nonsquare glyphs have the correct kerning. (#189)
  • Fixed an issue where the baseline for CJK characters was too low compared to non-CJK characters. (#189)
  • Fixed a crash when calling the -[MGLStyle removeImageForName:] method with the name of a nonexistent image. (mapbox/mapbox-gl-native#16391)
  • Fixed an issue where properties such as MGLFillStyleLayer.fillColor and MGLLineStyleLayer.lineColor misinterpreted non-opaque UIColors. (#266)

Offline maps

Other changes

Recent changes

See the full changelog for previous releases.