* [ios, macos] Corrected map load error descriptions
Ensured the uniqueness of localizable string IDs. Ran make genstrings to add the -[MGLMapViewDelegate mapViewDidFailToLoad:withError:] error description strings to the base localization.
* [ios, macos] Moved failure error changelog entry to new release
Now that annotation classes override -isEqual:, it’s no longer appropriate to rely on -isEqual: or -containsObject: to check for the preexistence of an annotation. Those methods become deep equality tests, which have worse performance. Checking for identity allows the developer to add a polyline and polygon with identical coordinates, title, etc. to the map.
Implemented a missing -[MGLPolyline isEqual:].
Removed outdated comments about -annotationTagForAnnotation: being expensive.
jazzy is inconsistently converting straight apostrophes that immediately follow backticks into either ‘ or ’ from one run to the next. Smarten the apostrophe to keep it stable.
Avoid canceling transitions (and triggering preexisting completion handlers) until we get a chance to ensure that a new transition really does have to begin. Consistently avoid mbgl transitions for redundant camera changes. Upon bailing, schedule the completion handler to run asynchronously on a delay equivalent to the requested animation duration.
Added a “functional” equality method to MGLMapCamera that avoids trivial differences.
Fixed invocations of XCTAssertEqualWithAccuracy() that incorrectly expressed the accuracy as a number of digits rather than a scalar tolerance.
Round double-tap and two-finger tap zoom gestures to the nearest integer zoom level. This has the benefits for raster tiles, as well as styles with zoom-based functions.
This results in a wider possible zoom range — ~0.5-1.5:
Old: z4.6 → z5.6 (+1.0), z4.4 → z5.4 (+1.0)
New: z4.6 → z6.0 (+1.4), z4.4 → z5.0 (+0.6)
* [ios, macos] Added delegate method to restrict movement
Added a way for the delegate to restrict where the user can move within the map using gestures.
Fixes#2457.
* [ios] Added support to restrict movement in pinch/rotate gestures
* [ios] Added support to restrict movement in double tap/quick zoom/two finger drag gestures
* [ios] fixed camera reset before two finger drag gesture is complete
* [ios] fixed camera comparison in double tap gestures
* [ios] Changelog update
* [macos] Changelog updated
* [ios, macos] Changelog cleanup
* [ios, macos] Added documentation to clarify performance impact
* [ios] clarified variable name
* [ios] blocking gestures implementation changed to a predictive approach
* [ios] gesture delegate methods refactoring
* [ios] Removed duplicated methods, improved code readability
* [ios] code refactoring to clarify the conditions to execute a gesture
* Expand on Gesture Implementation
Adding Gesture info as discussed: https://github.com/mapbox/mapbox-gl-native/issues/2278#issuecomment-273685832
Not sure if using codeblocks is kosher.
* Update styling and verbiage
* More updates
* [ios] -requireGestureRecognizerToFail: seems to be enough
* [macos] Added corresponding macOS documentation
[ios] Flush telemetry cache when data collection is paused
This flushes the cache just before pausing so that data collected
before the pause is not thrown away. It also refactors event
creation to avoid possible nil value inserts into dictionaries
and adds a small optimization to avoid creating immutable
dictionaries to help create mutable ones.
Also:
- Remove cancel API in API client
The cancelAll API is not used. The array of data tasks it maintains
has proven problematic. This removes the API and the problematic
implementation. As safer version of it can be brought back if cancel
task functionality is required in the future.
- Remove unused battery method