This repository has been archived by the owner on Aug 8, 2023. It is now read-only.
ios-v3.3.0
Changes since ios-v3.2.3:
Styles and data
- Added methods to MGLMapView for obtaining the underlying map data rendered by the current style, along with additional classes to represent complex geometry in that data. (#5110)
- Improved performance viewing regions with large landcover polygons when viewing a style that uses the Mapbox Streets source. (#2444)
- Fixed a memory leak when using raster resources. (#5141)
- Rendering now occurs on the main thread, fixing a hang when calling
-[MGLMapView styleURL]
before the map view has fully loaded or while the application is in the background. (#2909) - Added a
-reloadStyle:
action to MGLMapView to force a reload of the current style. (#4728) - A more specific user agent string is now sent with style and tile requests. (#4012)
- Added a new option to
MGLMapDebugMaskOptions
,MGLMapDebugOverdrawVisualizationMask
, that highlights overlapping drawing operations instead of the usual rendered output. (#5403)
Interactivity
- The compass, user dot, and visible annotations are now accessible to VoiceOver users. (#1496)
- Added a method to MGLMapView,
-anchorPointForGesture:
, that you can override to anchor gestures at a point other than the user location. (#5302) - Added a property to MGLMapView,
decelerationRate
, that allows you to speed up or slow down the drift animation at the end of a user gesture. You can also use this property to disable the drift animation entirely. (#5504) - Improved responsiveness when zooming in then immediately panning around. (#4595)
- Added a new method,
-[MGLMapView cameraThatFitsCoordinateBounds:]
, to get a camera that you can pass into-setCamera:
that fits the given coordinate bounds. (#4790)
Annotations
- MGLPointAnnotation and custom MGLAnnotation implementations (but not MGLMultiPoint) can be backed by an MGLAnnotationView instead of an MGLAnnotationImage. MGLAnnotationView is a subclass of UIView, so you can use Core Animation and other familiar technologies with it. To associate an MGLAnnotation with an MGLAnnotationView, implement
-mapView:viewForAnnotation:
in your MGLMapViewDelegate class. (#4801) - An MGLAnnotation can be relocated by changing its
coordinate
property in a KVO-compliant way. An MGLMultiPoint cannot be relocated. (#3835) - Setting the
image
property of an MGLAnnotationImage tonil
resets it to the default red pin image and reclaims resources that can be used to customize additional annotations. (#3835) - An MGLPolygon can now have interior polygons, representing holes knocked out of the overall shape. (#5110)
User location
- The user dot now moves smoothly between user location updates while user location tracking is disabled. (#1582)
- Fixed an issue preventing KVO change notifications from being generated on MGLMapView’s
userTrackingMode
key path when-setUserTrackingMode:animated:
is called. (#4724) - Fixed a crash setting MGLMapView’s
userLocationVerticalAlignment
property before a user location update has occurred. (#5278) - Mapbox Telemetry is automatically disabled while the host application is running in the iOS Simulator. (#4726)
Offline maps
MGLOfflinePackProgress
now indicates how many tiles have been downloaded and how much space they take up. (#4874)- Fixed an issue where the tile cache could be included in iCloud backups on the first launch. (#5124, #5601)
- Suppressed “Unable to make space for entry” console spew. (#4708)
- Deprecated
-[MGLMapView emptyMemoryCache]
. (#4725)
Packaging
- Improved the design of the generated API documentation. (#5306)
- Applications linking against the SDK static framework no longer need to add
-ObjC
to the Other Linker Flags (OTHER_LDFLAGS
) build setting. If you previously added this flag solely for this SDK, removing the flag may potentially reduce the overall size of your application. (#4641) - Removed the
armv7s
slice from the SDK to reduce its size. iPhone 5 and iPhone 5c automatically use thearmv7
slice instead. (#4641) - The SDK is now localizable. No localizations are currently provided, other than English, but if you need a particular localization, you can install the SDK manually and drop a .lproj folder into the framework. (#4783)
- Removed unused SVG files from the SDK’s resource bundle. (#4641)
Other changes
- Added category methods on NSValue for converting to and from the structure types defined in MGLGeometry.h. (#4802)
- Added NSFormatter subclasses for converting geographic coordinates and directions into display strings. (#4802)
- Added
MGLCoordinateInCoordinateBounds()
, a function that tests whether or not a coordinate is in a given bounds. (#5053)
Documentation is available online or as part of the download.