This changes the way the the calculation for the largest visual annotation representation (stored in _unionedAnnotationRepresentationSize) is done so that it includes both images and views. The `annotationTagAtPoint` method is then able to find annotation objects that are in a query rect formed from the sizes of all manner of point annotation visual representations. The `annotationTagAtPoint` method also gains new logic in a conditional to handle annotations backed by MGLAnnotationViews. Similarly to the image case, it filters out disabled annotations and calculates a centered rect for the view. The hit test logic remains the same but now works correctly for both the centered rects of both images and views. This also fixes a bug where the `largestAnnotationViewSize` was always holding the last annotation view size and not necessarily the largest. This would affect when annotation views are put into a reuse queue since the size is used to help determine when an annotation view has gone offscreen.
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 GL 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 | |
| Mapbox Android SDK | Java | |
| Mapbox iOS SDK | Objective-C or Swift | |
| Mapbox macOS SDK | Objective-C or Swift | |
| node-mapbox-gl-native | Node.js | |
| Mapbox Qt SDK | C++03 |
Additional Mapbox GL Native–based libraries are developed outside of this repository:
- React Native Mapbox GL for React Native applications on iOS and Android
- Telerik’s Mapbox plugin for Apache Cordova Hybrid applications
- Telerik’s Mapbox plugin for NativeScript Hybrid applications
- Xamarin's Mapbox component for Xamarin Hybrid applications
If your platform or hybrid application framework isn’t listed here, consider embedding Mapbox GL JS using the standard Web capabilities on your platform.