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
Enforce non-nullable semantics for MGLFeature.attributes, to avoid construction of invalid mbgl::Feature properties
from nil NSDictionary object and align with public SDK property definition.
Integration test "testShapeSourceWithLineDistanceMetrics" is added to verify that MGLFeature is correctly converted.
Fixes issue #13378
Update method name
More API drafting
Add deprecation flag
Add Swift delegate integration test
Update method name and documentation
Update deprecation notices
Update method name
Offset anchor point relative to contentFrame
Update docs
Only run through switch statement if delegate is unimplemented
Account for content inset + refactor logic
Adjust edgePaddingForFollowing
Fix Swift delegate integration test
Set up integration test
Set up test location manager
.
Remove unused file reference from test
Return CGPoint value from delegate method within integration test setup
Test anchor points
Make updateUserLocationAnnotationView public
Refactor test
Update test location manager
Changelog entry
Doc fixes
This will allow us to write lightweight integration tests between MGLMapView and the core renderer.
Also includes a test for the recent custom layer memory fix, reverting the fix in order to demonstrate the failing test.