Release notes
12.2.0 (2024-11-15)
🌟 Features and improvements
- AnimationSettings - a class for configuring the map object animation. Can be applied to objects with the
3D model
andDirectional model
layer types. - MyLocationMapObject.animationSettings - a feature to configure the geolocation marker animation if an animated model is loaded as a model in styles.
- MyLocationMapObject.objectAttributes - a feature to configure style attributes for a geolocation marker. You can find available attribute values in styles for a corresponding layer.
- RoadEventMapObject.animationSettings - a feature to configure the road event animation if an animated model is loaded as a model in styles.
- RoadEvent.id - road event identifier.
- ParkingControlModel - a model for switching the visibility of parking lots on the map.
- ItemMarkerInfo.rubricIds - identifiers of rubrics that a marker object belongs to.
- TextHorizontalAlignment - a setting to horizontally align a text in a Marker using TextStyle.
- Defined operators for Longitude and Latitude.
- MapMarkerView and MapMarkerViewOverlay - SwiftUI elements for adding custom SwiftUI Views as markers on the map.
- SpeedView - SwiftUI element for displaying speed in the navigation mode.
- RouteMapObjectsProvider and NavigationManager.routeMapObjectsProvider - a class for getting route objects on the map.
- RouteMapObject.roadEventObjects - road events on the map for a corresponding route.
- MyLocationMapObjectSourceProvider and NavigationManager.myLocationMapObjectSourceProvider - a class for getting a geoposition marker source in the navigator.
🛠 Bug fixes
- Improved the mechanism of getting marker object title ItemMarkerInfo.title. Now it is considered that a marker may have no title.
- Fixed a potential issue during map initialization when a style could be installed before the initialization process was completed.
- Fixed a potential freeze of MapObjectManager when objects are frequently added and removed using the MapObjectManager.removeAndAddObjects method.
- Added additional verification of the correctness of handling the map tilt gesture so that it does not lead to an application crash.
- Fixed an application crash when logging network requests.
- Fixed an issue that caused MapViewOverlay to operate with interruptions when interacting with the map.
- Fixed operation of SwiftUI elements for the map, which previously were recreated during each update of the interface.
- Fixed road events display, which previously worked not for all regions.
- Fixed the display of route arrows in relation to immersive roads of actual width in the navigation mode.
- Fixes a potential issue that prevented the display of lane bubbles on the route in the navigation mode.
🗺 Map style updates
- Fixed style issues when displaying a geolocation marker in the navigation mode with immersive roads of actual width.
- Fixed style issues when displaying building floor plans.
10.8.0 (2024-11-02)
🛠 Bug fixes
- Fixed a possible freeze of MapObjectManager when objects are frequently added and removed using the MapObjectManager.removeAndAddObjects method.
- Added additional verification of correctness of handling the map tilt gesture so that it does not lead to an application crash.
- Fixed an application crash when logging network requests.
- Fixed an issue that caused MapViewOverlay to operate with interruptions when interacting with the map.
- Fixed operation of SwiftUI elements for the map, which previously were recreated during each update of the interface.
- Fixed road events display, which previously worked not for all regions.
12.1.0 (2024-09-24)
🌟 Features and improvements
- ItemMarkerInfo.title - a marker object name.
- DirectoryObject.chargingStation - information about EV charging stations in a directory object.
- Voice.playWelcome - method for playing a voice sample.
🛠 Bug fixes
- Updated DgisSource.createDgisSource to return the hybrid tiles source of the default map in
Full
SDK version. - Improvements to the immersive roads of actual width operation in the navigation mode.
🗺 Map style updates
- Fixed issues in styles when displaying immersive roads of actual width.
- Fixed fog display at different map tilt angles.
12.0.0 (2024-08-19)
🌟 Features and improvements
-
Immersive roads of actual width are displayed in the navigation mode if:
- Map.graphicsPreset field is set to
IMMERSIVE
. HttpCache
is enabled using HttpOptions.useCache.
Roads of actual width are currently available in several large cities of Russia, UAE, and Saudi Arabia only.
- Map.graphicsPreset field is set to
-
Fog is displayed to cut off distant map objects when the map is tilted.
-
BaseCamera.viewportRestriction to set camera viewport.
-
MapOptions.graphicsPreset to set graphic mode via GraphicsPreset during map initialization.
-
Map.graphicsPreset to set graphic mode via GraphicsPreset for a created map.
-
Map.graphicsPresetHint to get the recommended graphic mode for the given device.
-
Enabled titling the map up to 70 degrees starting from the 18th zoon level.
-
RasterUrlTemplate to set URL template for requesting raster tiles. Can take two values: DefaultRasterUrlTemplate for a common template and WmsRasterUrlTemplate for raster tiles of the WMS standard.
-
MapLocationController.mapToNorthOrientation to force map orientation to the north.
-
RouteCamera.maxSpeedLimit - speed in m/s, exceeding which is captured by the camera.
-
NavigationFollowController.cameraBehaviour - camera mode for tracking geolocation marker in the navigator.
-
Terrain elevation is now considered when displaying road events and traffic jam data on route.
-
If the current position on route is more than 500 away from the next maneuver, the "Go straight" phrase is played.
-
Sound instructions for bicycle and scooter intersections are supported.
-
RouterType to set the search engine type in AlternativeRoutesProviderSettings to search for alternative routes.
-
toRoutePoint
parameter in the MillisecondsRouteAttribute.calculateDuration method to calculate duration of moving along the route part towards a particular point. -
TerritoryManager.findByPoint and TerritoryManager.findByRect methods to filter regions that are available for downloading offline by
GeoPoint
andGeoRect
.
❗ Breaking changes and backward compatibility
- Removed the
Container.apiKeyOptions
parameter. You can now explicitly pass the key file source usingKeySource
,KeyFromAsset
,KeyFromFile
,andKeyFromString
. - Removed the
Container.vendorConfigFile
parameter. You can now explicitly pass the configuration file source usingVendorConfig
,VendorConfigFromAsset
,VendorConfigFromFile
, andVendorConfigFromString
. - Removed
Container.makeStyleFactory
,Container.makeSearchManagerFactory
,Container.makeSourceFactory
,Container.makeImageFactory
, andContainer.makeLocaleManager
methods. Instead, useContainer.styleFactory
,Container.searchManagerFactory
,Container.sourceFactory
,Container.imageFactory
, andContainer.localeManager
fields. - Removed
IPositioningServicesFactory
and theContainer.positioningServices
. When creating aContainer
, passContainer.locationProvider
andContainer.magneticHeadingProvider
separately. - Removed
ILocationService
. Instead, useLocationService
with similar functionality. - Removed
MyLocationController
andMapLocationController.myLocationIndicatorController
. To configure the marker geolocation source, use MyLocationControllerSettings. In the INavigationView, geolocation source is now not substituted. - Changed the HttpOptions structure while keeping its functionality.
- Renamed fields in LogOptions:
osLogLevel
andcustomLogLevel
are nowsystemLevel
andcustomLevel
correspondingly. - Renamed values in LogLevel:
disabled
andfault
are nowoff
andfatal
correspondingly. - Removed the
CameraState.followPosition
value. Instead, see the Camera.behaviour value. - Extended values for SuggestedType, SuggestorType, and ObjectType so that they now correspond to Places API results.
- MyLocationMapObjectMarkerType values are aligned with standard naming.
- Removed the
createRasterTileDataSource
method. Added a new source of raster tiles RasterTileSource, which enables setting transparency for raster tiles. - Removed
AudioVolume
. You can now set instructions volume from 0 to 100 using AudioSettings.volume. - Removed
AudioOptions
andIAudioSettings
. UseAudioSettings
to configure sounds in the SDK. - RouteMapObjectDisplayFlag.immersiveRouteParts - flag to use immersive geometry on route parts.
🛠 Bug fixes
- Optimized caching of road events when displaying them on the map.
- Fixed issues that prevented displaying route variants if an invalid variant was included into the list of public transport routes.
- Fixed the record of the covered distance along an alternative route.
- Improved the display of stops on public transport routes.
- Improved erasing of the route when the route finish point is reached.
- Fixed the active route display in poor GPS signal conditions.
- Voice instructions are now not played during navigation in poor GPS signal conditions.
- Distance to the next camera is not considered if it is less than 150 meters.
- Voice instructions are not played when navigation starts.
- Distance to intersection control cameras, public transport lanes, and road markings is not voiced.
- Distance left on route is not voiced if other instructions are expected further on route.
- Pedestrian obstacles and road subtypes for non-pedestrian routes are not voiced.
🗺 Map style updates
- Added layers with immersive roads of actual width.
- Improved various layers so that they are displayed properly if immersive roads of actual width are present on the map.
- Updated geolocation marker designs in normal and navigation modes. Made the marker display in light and dark themes consistent.
- Supported new Moscow Metro line MCD-4A.
- Fixed styles of Moscow Metro lines MCD-3, MCD-4, MCD-4A, and MCD-5.
- Added stop captions on public transport routes.
- Enabled displaying stop captions when viewing the full route of a selected public transport.
Migration from versions 10.x to 12.х
For all types of Mobile SDK:
- Styles must be exported again.
- To ensure proper display of the geolocation marker, copy corresponding layers.
- Removed the
Container.apiKeyOptions
parameter. You can now explicitly pass the key file source usingKeySource
,KeyFromAsset
,KeyFromFile
,andKeyFromString
. - Removed the
Container.vendorConfigFile
parameter. You can now explicitly pass the configuration file source usingVendorConfig
,VendorConfigFromAsset
,VendorConfigFromFile
, andVendorConfigFromString
. - Removed
Container.makeStyleFactory
,Container.makeSearchManagerFactory
,Container.makeSourceFactory
,Container.makeImageFactory
, andContainer.makeLocaleManager
methods. Instead, useContainer.styleFactory
,Container.searchManagerFactory
,Container.sourceFactory
,Container.imageFactory
, andContainer.localeManager
fields. - Removed
IPositioningServicesFactory
and theContainer.positioningServices
. When creating aContainer
, passContainer.locationProvider
andContainer.magneticHeadingProvider
separately. - Removed
ILocationService
. Instead, useLocationService
with similar functionality. - Removed
MyLocationController
andMapLocationController.myLocationIndicatorController
. To configure the marker geolocation source, use MyLocationControllerSettings. In the INavigationView, geolocation source is now not substituted. - Changed the HttpOptions structure while keeping its functionality.
- Renamed fields in LogOptions:
osLogLevel
andcustomLogLevel
are nowsystemLevel
andcustomLevel
correspondingly. - Renamed values in LogLevel:
disabled
andfault
are nowoff
andfatal
correspondingly. - Removed the
CameraState.followPosition
value. Instead, see the Camera.behaviour value. - Extended values for SuggestedType, SuggestorType, and ObjectType so that they now correspond to Places API results.
- MyLocationMapObjectMarkerType values are aligned with standard naming.
- Removed the
createRasterTileDataSource
method. Added a new source of raster tiles RasterTileSource, which enables setting transparency for raster tiles.
Additionally for the full version:
- To ensure that immersive roads of actual width are displayed and other objects interact with them properly in the navigation mode, export latest Mobile SDK styles and apply your settings.
- Removed
AudioVolume
. You can now set instructions volume from 0 to 100 using AudioSettings.volume. - Removed
AudioOptions
andIAudioSettings
. UseAudioSettings
to configure sounds in the SDK. - RouteMapObjectDisplayFlag.immersiveRouteParts - flag to use immersive geometry on route parts.
10.7.0 (2024-08-13)
🌟 Features and improvements
- DashboardButtonSettings in the NavigationViewOptions to configure the button for adding road events in the navigator dashboard.
10.6.0 (2024-08-07)
🌟 Features and improvements
- PackageInfo.finalSizeOnDisk - size of the disk space that the territory takes after installation, in bytes.
- PackageInfo.currentSizeOnDisk - size of the disk space that currently installed territory files take, in bytes.
- In the NavigationViewTheme added new parameters for customizing UI controls of the INavigationView. You can set the color of icons of the main and additional maneuvers, fonts for all UI controls, customize UI controls of the compass and the traffic jam score.
🛠 Bug fixes
- Fixed the map operation when the
Metal API Validation
setting is enabled in Xcode. - Fixed the process of updating a position in the clustering tree using MapObjectManager.withClustering when a marker position changes.
- Updated the copyright design of a map snapshot created using the IMapSnapshotter.
- Fixed issues that prevented MapViewOverlay from updating when parameters change.
- In the INavigationView, the speedometer UI control is now displayed during bicycle navigation.
- In the INavigationView, the position tracking UI control is now not hidden during pedestrian navigation.
10.5.0 (2024-06-05)
🌟 Features and improvements
- You can now set a cascaded
appId
in the key settings. This allows you to link the key not to a particular application, but to a group of applications with the same identifier pattern. - Updated the copyright design.
🛠 Bug fixes
- Fixed SDK operation for CarPlay.
- When displaying markers using Marker, text labels do not overlap.
- Fixed the display of the geolocation marker when a direction sensor stops providing data.
10.4.0 (2024-05-20)
🌟 Features and improvements
- Added SwiftUI map elements: CurrentLocationView, ZoomView, TrafficView, IndoorView, CompassView. All elements can be created using the IMapControlViewFactory.
- ZoomFollowSettings.speedRangeToStyleZoomFreeRoamSequence became a setter.
🛠 Bug fixes
- Fixed an issue that led to a situation when changing a floor via IndoorBuilding.activeLevelIndex did not influence the IndoorControl display.
- Updated the
PrivacyInfo.xcprivacy
file.
❗ Breaking changes and backward compatibility
- You can now add only one source of the current location (MyLocationMapObjectSource) to a Map object.
- SDK now supports only iOS 13 or higher.
10.3.0 (2024-05-06)
🌟 Features and improvements
- Information about traffic jams in regions is now updated regardless of the update of the SDK configuration file.
- With the zoom level higher than 2, you now cannot move the map to display empty lanes at the top and bottom.
- Added an Arabic voice package for the navigation.
🛠 Bug fixes
- Fixed clustering via MapObjectManager.withClustering. Now the cluster hierarchy is rebuilt if the position of one marker is changed using Marker.position.
- Fixed incorrect handling of taps in Marker with the Lottie animation.
- Map.dataLoadingStateChannel does not freeze in the
loading
state in the geolocation following mode. - Added the
PrivacyInfo.xcprivacy
file.
❗ Breaking changes and backward compatibility
- Support of iOS version 12 is deprecated. Starting from the next version, SDK works only for iOS 13 or higher.
10.2.0 (2024-03-07)
🌟 Features and improvements
- CircleOptions.dashedStrokeOptions and Circle.dashedStrokeOptions options for creating a dashed circle or adding a dashed outline for an existing circle.
- RoadEventSource.setHighlighted method for highlighting road events with IDs from RoadEventMapObject.id.
- calculateClosestPoint function for obtaining the closes point on the map relative to the given point.
🛠 Bug fixes
- Fixes performance issues of
layedId
defined in MapObjectManager: now it impacts the display of clustered markers. - Fixed map rendering. Previously, it would freeze when a modal window is displayed above
MapView
. - Fixed map performance when the application is minimized.
🗺 Map style updates
- Download styles again to ensure valid operation of dashed circles.
10.1.0 (2024-01-16)
🌟 Features and improvements
- Added the DirectoryObject.buildingInfo structure with reference information about a building:
buildingName
,purposeName
,purposeCode
, andbuildingLevels
. DirectoryObject.buildingLevels is marked asdeprecated
and will be removed in the future major releases. - Added DirectoryObject.address.fiasCode - the FIAS (Federal Information Address System) code of a directory object.
- Added the
fiasCode
field (the FIAS code of the street) to DirectoryObject.address.components in AddressComponent.streetAddress and AddressComponent.number structures.
10.0.0 (2023-12-29)
🌟 Features and improvements
- Enabled immersive trees to be displayed on the map by default.
- Supported a new model for displaying the current location marker. To override the current location icon, pass MyLocationMapObjectMarkerType.svgIcon to the MyLocationMapObjectSource and edit a corresponding layer in styles.
- Added MarkerOptions.iconAnimationMode and Marker.iconAnimationMode to enable setting animation modes in markers. The mode can be normal or looped.
- Added SearchResult.actionWidgets and SearchResult.mainWidgets for dynamic filtering of the obtained search results. Added the Widget class that works as a widget for filtering search results.
- Added
locales
andsystemLocales
methods and corresponding channels to LocaleManager for getting all locales of an application and system locales. - Added the BaseCamera.changePosition method for changing only certain parameters of camera position. The method takes a new CameraPositionChange structure.
- Added the Camera.move method for launching animated map movement with a possibility to reset tilt following.
- Added the
styleZoomToTiltRelation
parameter for calcPosition and zoomOutToFit functions. The parameter represents a function of camera tilt angle dependence on the style zoom level. - Added the createDefaultStyleZoomToTiltRelation function for getting the dependence of the camera tilt angle on the style zoom level for the standard tilt following controller.
- Added the createDefaultMaxTiltRestriction function for getting the default dependence of the tilt angle restriction on the scale. By default, this dependence is set during map creation: BaseCamera.maxTiltRestriction.
- Added the BearingSource enum, a source of direction.
- Added the PackedMapState.cameraBehaviour field for serializing the camera tracking mode.
- Added the
error
field to PackageInfo: an error that occurs during an attempt to download and/or install a package. - Added the IndoorManager.setIndoorState method for managing the display of floor plans on the map.
- Added the NavigationManager.alternativeRouteSelector field for selecting an alternative route.
- Added the Route.bicycleLanes field: an indication of a dedicated cycle lane.
- Added the RoutePointKind.bicycleLane value: the beginning and end of a cycle lane.
- Added the PedestrianRouteSearchOptions.avoidUnderpassesAndOverpasses flag: avoid pedestrian underpasses and overpasses.
- Added the RouteMapObjectSource.replaceObject for replacing one route object in source with another.
- Added the NavigationFollowController.mapLocationController field. MapLocationController is a controller to manage map positioning in the navigator.
- Added the NavigationFollowController.cameraBehaviour field to enable changing the mode of map following the geolocation marker.
- Added the ZoomFollowSettings.speedRangeToStyleZoomFreeRoamSequence field: a sequence of speed ranges and corresponding scales in the FreeRoam navigation mode.
❗ Breaking changes and backward compatibility
-
Changed working with FollowController:
- Removed
createRawMyLocationController
andcreateSmoothMyLocationController
methods. Added the MyLocationController constructor for creating controllers of geolocation marker movements. - Removed
FollowBearing.satellite
andFollowBearing.magnetic
values because now you do not need to specify the direction source. Added the FollowBearing.on value for enabling the following mode (the source is selected automatically). - Removed the FollowPosition.tilt field. Now you need to enable tilt following separately. Added a new CameraBehaviour constructor with a
tilt
parameter to enable following only the tilt. - Removed
FollowValue.satelliteBearing
,FollowValue.magneticBearing
, andFollowValue.accuracy
values. Instead, added the FollowValue.bearing value with automatic selection of the source. - Removed
satelliteBearing
,magneticBearing
, andaccuracy
methods from the CustomFollowController interface. Added the CustomFollowController.bearing method instead. - Removed
setClock
,satelliteBearing
,magneticBearing
, andaccuracy
methods from FollowController. AddedonAddedToMap
,onRemovedFromMap
, andbearing
methods instead. - Removed the
FollowController.nextTimestampChannel
channel. Added FollowController.changedChannel instead. - Changed the signature of the FollowController.updateValues method.
- Removed the
PlatformLocationFollowController
controller. Instead, added BearingFollowController and CoordinatesFollowController controllers for following the map direction and map position coordinates respectively. - Changed the constructor of the StyleZoomFollowController controller. Removed the
StyleZoomFollowController.setAnimationDuration
method. - Changed the constructor of the TiltFollowController controller. Removed
TiltFollowController.setTilt
andTiltFollowController.setAnimationDuration
methods. - Replaced parameters of the FollowController.setThresholds with the typed ones.
- Removed the
FollowControllerClock
class. Changed the type of the FollowController.setClock method parameter to timestamp. - Removed
TransitionType
. The MyLocationControlModel constructor does not taketransitionType
now. Removed thetransitionType
parameter from the CameraBehaviour constructor. - Removed
MyLocationDirectionBehaviour
. The MyLocationMapObjectSource constructor of a geolocation source does not takedirectionBehaviour
now. Removed theMyLocationMapObjectSource.setDirectionBehaviour
method.
- Removed
-
Removed the BaseCamera.styleZoomToTiltRelation field.
-
Renamed the
MagneticHeadingProvider
class toHeadingProvider
. -
Constructors of Circle, Marker, Polygon, and Polyline are labeled as
throws
. -
Removed the MapOptions.mapRendererType option and the
MapRendererType
enum. Now Metal is always enabled for map rendering. -
Removed
Circle.position
andCircle.radius
setters. Instead, added Circle.setPosition and Circle.setRadius methods that can throw exceptions. -
Updated the Locale structure: now it is created based on separate
language
andregion
values. -
Removed PackageManager and Package from the SDK Map build. The product size has reduced.
-
Updated Voice.playWelcome to return Future, which becomes ready when sample playing is finished.
-
Removed the
RoadSubtype.stairway
field. Instead, added RoadSubtype.stairwayUp and RoadSubtype.stairwayDown fields for using stairways with explicit direction. -
Removed the NavigationFollowController.mapTiltController field.
-
Enabled throwing an exception when attempting to start the navigator in the guidance or simulation mode with a public transport route.
-
Disabled cashing of
FreeRoam
tiles during navigation. -
Updated MyLocationMapObjectSource for the navigator to be installed inside INavigationView.
❗ Known Issues
- When dynamic objects are updated frequently (around 100 FPS), the map freezes.
🛠 Bug fixes
-
Optimized re-rending of map frames after any changes.
-
Fixed the way traffic jams are displayed on the map depending on the zoom level.
-
Improved the smoothness of geolocation marker update.
-
Optimized and fixed map display for the latest iOS versions.
-
Fixed the behavior of the SimpleClusterObject.setIcon method during the first call.
-
Fixed clustering via MapObjectManager.withClustering that worked incorrectly with fractional values of
minZoom
andmaxZoom
. -
Updated the company logo in the copyright and map snapshots.
-
Fixed the exception returned if corrupted styles are loaded into the map.
-
Updated the behavior of MapOptions.appearance: when MapAppearance.default is set, the light theme is used by default.
-
Improved the calculation of the distance for playing preliminary instructions for a maneuver: now lanes are considered.
-
Improved the playing of the final phrase in the navigation mode: now pedestrian route is considered.
-
Fixed an issue that prevented lane callouts from displaying the route direction.
-
Fixed the creation of lane callouts: now speed limits are not considered.
-
Fixed the display of callouts for bus lanes going straight with "No entry" sign for other vehicles.
-
Fixed the display of route suggestions:
- Suggested better route is now not removed if a user explicitly declined switching to it.
- Alternative routes are now removed from the map when the interchange with them is too far from the following position even if they can still be attracted.
- Alternative routes that branch from the main route in the same point and are equally directed are now disregarded.
- Suggestion of a better route is now revoked when the route is not considered a better one anymore after updating the traffic jam data for the route.
-
Fixed camera warnings: now notifications of camera dummies are not voiced.
-
Fixed the INavigationView behavior to display only the remaining part of the route when requested to display the full route.
-
Disabled cashing of
FreeRoam
tiles during navigation by default. This is done to reduce the number of backend requests.
🗺 Map style updates
- Added styles for traffic lights.
- Added immersive models of trees and buildings.
- Added support of new lines of Moscow Metro: MCD-3 and MCD-4.
- Optimized immersive models of trees.
- Added a new model for displaying the current location marker.
Migration from versions 7.x to 10.х
For all types of Mobile SDK:
-
Styles must be downloaded again.
-
Changed the process of working with FollowController:
- Removed
createRawMyLocationController
andcreateSmoothMyLocationController
methods. Added the MyLocationController constructor for creating controllers of geolocation marker movements. - Removed
FollowBearing.satellite
andFollowBearing.magnetic
values because now you do not need to specify the direction source. Added the FollowBearing.on value for enabling the following mode (the source is selected automatically). - Removed the FollowPosition.tilt field. Now you need to enable tilt following separately. Added a new CameraBehaviour constructor with a
tilt
parameter to enable following only the tilt. - Removed
FollowValue.satelliteBearing
,FollowValue.magneticBearing
, andFollowValue.accuracy
values. Instead, added the FollowValue.bearing value with automatic selection of the source. - Removed
satelliteBearing
,magneticBearing
, andaccuracy
methods from the CustomFollowController interface. Added the CustomFollowController.bearing method instead. - Removed
setClock
,satelliteBearing
,magneticBearing
, andaccuracy
methods from FollowController. AddedonAddedToMap
,onRemovedFromMap
, andbearing
methods instead. - Removed the
FollowController.nextTimestampChannel
channel. Added FollowController.changedChannel instead. - Changed the signature of the FollowController.updateValues method.
- Removed the
PlatformLocationFollowController
controller. Instead, added BearingFollowController and CoordinatesFollowController controllers for following the map direction and map position coordinates respectively. - Changed the constructor of the StyleZoomFollowController controller. Removed the
StyleZoomFollowController.setAnimationDuration
method. - Changed the constructor of the TiltFollowController controller. Removed
TiltFollowController.setTilt
andTiltFollowController.setAnimationDuration
methods. - Replaced parameters of the FollowController.setThresholds with the typed ones.
- Removed the
FollowControllerClock
class. Changed the type of the FollowController.setClock method parameter to timestamp. - Removed
TransitionType
. The MyLocationControlModel constructor does not taketransitionType
now. Removed thetransitionType
parameter from the CameraBehaviour constructor. - Removed
MyLocationDirectionBehaviour
. The MyLocationMapObjectSource constructor of a geolocation source does not takedirectionBehaviour
now. Removed theMyLocationMapObjectSource.setDirectionBehaviour
method.
- Removed
-
Removed the BaseCamera.styleZoomToTiltRelation field.
-
Renamed the
MagneticHeadingProvider
class toHeadingProvider
. -
Constructors of Circle, Marker, Polygon, and Polyline are labeled as
throws
. -
Removed the MapOptions.mapRendererType option and the
MapRendererType
enum. Now Metal is always enabled for map rendering. -
Removed
Circle.position
andCircle.radius
setters. Instead, added Circle.setPosition and Circle.setRadius methods that can throw exceptions. -
Updated the Locale structure: now it is created based on separate
language
andregion
values. -
Removed PackageManager and Package from the SDK Map build. The product size has reduced.
Additionally for the full version:
- Updated Voice.playWelcome to return Future, which becomes ready when sample playing is finished.
- Removed the
RoadSubtype.stairway
field. Instead, added RoadSubtype.stairwayUp and RoadSubtype.stairwayDown fields for using stairways with explicit direction. - Removed the NavigationFollowController.mapTiltController field.
- Enabled throwing an exception when attempting to start the navigator in the guidance or simulation mode with a public transport route.
- Disabled cashing of
FreeRoam
tiles during navigation. - Updated MyLocationMapObjectSource for the navigator to be installed inside INavigationView.