Jesse Bounds 37a087c675 [ios, macos] Avoid unsafe cast when removing style layers (#7227)
This updates the code generation for style layers to add a test to check
that the style object returned from mbgl can be safely cast into the
expected type so ownership can be returned to the caller when removing
layers.

This scenario was previously possible if a layer of type T was
added before a layer of type U but both layers shared the same
identifier. In that case, if the pointer to the second layer of type U
was used to remove a layer, a runtime exception would occur since mbgl
returns the layer with type T (the first one added).

Now, an exception will still occur if layers with the same
identifier are manipulated as described above but it is done as part of
a validation check for all public style layer methods at the Darwin
platform level. The NSException attempts to warn developers about using
and reusing style identifiers to avoid this issue in the first place.
2016-11-30 11:59:29 -08:00
2016-08-04 10:25:02 +02:00
2016-08-05 11:42:22 +02:00
2016-01-05 08:04:16 -08:00
2014-07-16 18:53:56 -07:00
2016-08-05 11:42:22 +02:00
2016-03-31 15:45:51 -04:00
2016-05-31 10:15:18 -07:00
2016-11-13 16:10:36 -08:00

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 Travis Coverage Status
Mapbox Android SDK Java Bitrise
Mapbox iOS SDK Objective-C or Swift Bitrise
Mapbox macOS SDK Objective-C, Swift, or AppleScript Bitrise
node-mapbox-gl-native Node.js Linux macOS
Mapbox Qt SDK C++03 Travis Bitrise

Additional Mapbox GL Native–based libraries for hybrid applications are developed outside of this repository:

Toolkit Android iOS Developer
React Native (npm) ✅ ✅
Apache Cordova (npm) ✅ ✅ Telerik
NativeScript (npm) ✅ ✅ Telerik
Xamarin ✅ ✅ Xamarin

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

Description
No description provided
Readme 702 MiB
Languages
C++ 54%
Kotlin 11.8%
Java 11%
Objective-C++ 9.7%
Objective-C 5.8%
Other 7.5%