98e8af96d3793aad5f17599195d51c56a4e97a59
Upgraded MGLMapSnapshotter to be compatible with the latest mbgl. Converted as many of MGLMapSnapshotter’s instance variables and properties as possible into local variables close to the point of use. The completion handler of -startWithCompletionHandler: and its variants is no longer called as part of -cancel, when the snapshotter is deallocated, or when the application is terminating. -loading once again works and is used to avoid concurrent requests, now that the completion handler is no longer memoized. Snapshotter options are copied and converted into a snapshotter on demand as late as possible. Made the decoration step synchronous while continuing to perform it on a worker thread. Only access self on user-facing queues. Ensure MGLMapSnapshotter.loading is reset after snapshotting. Pushed some drawing and completion code up from inner completion blocks to outer completion blocks to avoid excessively passing state around. Converted a few class methods into standalone C functions to emphasize the avoidance of captured state.
Mapbox Maps SDKs for iOS and macOS
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. It is based on the Mapbox GL Native library.
| SDK | Languages | Build status |
|---|---|---|
| Mapbox Maps SDK for iOS | Objective-C or Swift | |
| Mapbox Maps SDK for macOS | Objective-C, Swift, or AppleScript |
License
Mapbox GL Native is licensed under the 2-Clause BSD license. The licenses of its dependencies are tracked via FOSSA:
Description
Languages
C++
54%
Kotlin
11.8%
Java
11%
Objective-C++
9.7%
Objective-C
5.8%
Other
7.5%