Aleksandar Stojiljkovic ae38a22dc1 [core] Fix collision with content insets
Viewport center offset usage was wrongly submitted in #14664. It was part of alternative approach that used enlarged viewport. Existing and added tests were not sufficient to spot the regression, since the collision check padding is usually larger than the center offset x and y. Annotation picking has tolerance of only 10 pixels but no annotation integration test was using content insets.

Usage of offset is not needed because `posMatrix` in e.g. `CollisionIndex::projectPoint(const mat4& posMatrix, const Point<float>& point)` already incorporates center offset (projection matrix) and the code in current master was just offsetting all by the value.

Modified [ios] MGLAnnotationViewIntegrationTests.testSelectingAnnotationWithCenterOffset to use different insets. It verifies the fix.

Fixes [iOS] Annotations are not selectable (added via iosapp menu) #15106:

In case of #15106, view's original content insets is {top:88, bottom:34}, causing that center offset is {x:0, y:27} and selection with tolerance of 10 wouldn't select annotation.
After tapping the view, so that the header gets removed, view's content insets get changed to {top:44, bottom:34}, center offset is {x:0, y:5} and annotation selection would work, as described in #15106.

Fixes: #15106
2019-07-17 16:13:33 -07:00
2018-11-26 14:31:28 -05:00
2019-06-07 10:23:06 -07:00
2019-06-27 15:51:22 +03:00
2019-07-17 14:52:47 +03:00
2019-06-25 20:10:21 +03:00
2019-07-04 16:56:43 +03:00
2019-06-25 20:10:21 +03:00
2019-04-05 11:49:17 +02:00
2019-06-25 20:10:21 +03:00
2017-03-30 03:44:56 -07:00
2018-12-07 10:11:01 -08:00
2018-11-30 17:44:26 -08:00
2018-07-30 12:38:24 +03:00
2019-01-04 08:58:09 +01:00
2019-07-15 10:13:47 -04: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 Circle CI build status Coverage Status
Mapbox Maps SDK for Android Java Circle CI build status
Mapbox Maps SDK for iOS Objective-C or Swift Circle CI build status
Mapbox Maps SDK for macOS Objective-C, Swift, or AppleScript Circle CI build status
node-mapbox-gl-native Node.js Circle CI build status
Mapbox Maps SDK for Qt C++03 Circle CI build status AppVeyor CI build status

Additional Mapbox GL Native–based libraries for hybrid applications are developed outside of this repository. If your platform or hybrid application framework isn’t listed there, consider embedding Mapbox GL JS using the standard Web capabilities on your platform.

License

Mapbox GL Native is licensed under the 3-Clause BSD license. The licenses of its dependencies are tracked via FOSSA:

FOSSA Status

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%