Release notes
13.2.0 (2026-01-22)β
π Features and improvementsβ
- RouteEditorView - SwiftUI element for displaying the route selection screen. To customize it, you can use RouteEditorViewTheme.
- GestureManager and IMapFactory.gestureManager - class for managing map gesture handling.
- MapGestureRecognizerUIViewFactory - factory of UIKit elements for default gesture handling. To revert to the previous map gesture recognition mechanism, use MapGestureUIViewFactory.
- TransformGestureOptionSet - gesture types for controlling the map.
- ScalingRecognizeSettings and ScalingGestureSettings.recognizeSettings - class and property for configuring scaling recognition settings.
- RotationRecognizeSettings and RotationGestureSettings.recognizeSettings - class and property for configuring rotation recognition settings.
- MultiTouchRecognizeSettings and MultiTouchGestureSettings.recognizeSettings - class and property for configuring multi-finger touch recognition settings.
- TiltRecognizeSettings and TiltGestureSettings - class and property for configuring tilt recognition settings.
- CommonGestureSettings and GestureManager.commonSettings - class and property for accessing general settings of map gestures.
- CommonRecognizeSettings - class with settings for recognizing map gestures.
- ScalingKinematicSettings and ScalingGestureSettings.kinematicSettings - class and property for configuring map scaling kinematics.
- RotationKinematicSettings and RotationGestureSettings.kinematicSettings - class and property for configuring map rotation kinematics.
- TiltKinematicSettings and TiltGestureSettings.kinematicSettings - class and property for configuring map tilt kinematics.
- Marker.suppressOnOverlap and MarkerOptions.suppressOnOverlap - property for managing the visibility of the marker icon if objects on the map overlay.
- SimpleClusterObject.suppressOnOverlap and SimpleClusterOptions.suppressOnOverlap - property for managing the visibility of the cluster object icon if objects on the map overlay.
- RoadEventFilterData - class with road event data used for filtering.
- RoadEventFilter and RoadEventSource.roadEventFilter - interface of the filter of displayed road events.
- You can now recreate a Container to free up unused resources (for example, the cache after the first map creation).
π Bug fixesβ
- Fixed an issue with building offline routes between regions.
- Fixed an issue where the active lane bubble was not displayed on the map when showing the active route.
- Fixed an issue when setting the online map source.
πΊ Map style updatesβ
- Styles must be exported again: fixed the display of lane bubbles in the Arabic locale.
- Fixed maximum zoom level values for all buildings and trees.
13.1.0 (2025-12-17)β
π Features and improvementsβ
- Container.makeMapFactory() - asynchronous method for creating an IMapFactory.
- DirectoryObjectView - UI element for displaying full information about a directory object. For customization, you can use DirectoryViewTheme.directoryObjectViewTheme. For overriding internal UI elements, use the IDirectoryObjectViewsFactory.
- DirectoryObject.nearestParkingIds - property for obtaining a list of the nearest parking lots.
- DirectoryObject.nearestStations - property for obtaining a list of the nearest public transport stops or stations.
- DirectoryObject.nearestPlatforms - property for obtaining a list of the nearest stop platforms.
- NearestPlatform - class with information about the nearest stop platform.
- NearestPlatformTransitionType - transition types between the nearest stop platforms.
- NearestStation - class with information about the nearest public transport stop or station.
- LabelingPriority - class for managing the priority of labeling (displaying a label or icon on the map).
- Marker.labelingPriority, MarkerOptions.labelingPriority, and SimpleClusterOptions.labelingPriority - properties for managing the priority of marker labeling.
- TextStyle.labelingPriority - property for managing the priority of marker text labeling.
- MiniMapControlModel - class of the model for managing the minimap in the navigation UI element.
- RouteEditorRoutesInfo.error - property for obtaining detailed information about an error when searching for a route.
- RouterErrorInfo - class for describing an error when building a route.
- RouterErrorCode - categories of errors when building a route.
- RouterErrorSource - sources of errors when building a route.
- Added a Tajik voice package for the navigator.
π Bug fixesβ
- Fixed a memory leak when displaying traffic jams on the map.
- Fixed padding, sizes, and colors for the SwiftUI RoadEventCreatorView and UIKit IRoadEventCreatorUIView elements for creating road events.
- Removed the
CallKitlibrary from the build, which was used to track phone calls when playing voice instructions in the navigator.
πΊ Map style updatesβ
- Styles must be exported again: fixed the display of building entrance arrows.
- Added a
Route camera directionlayer to display the camera direction ray along the route.
12.10.0 (2025-12-19)β
π Features and improvementsβ
- Marker.suppressOnOverlap and MarkerOptions.suppressOnOverlap - property for managing the visibility of the marker icon if objects on the map overlay.
- SimpleClusterObject.suppressOnOverlap and SimpleClusterOptions.suppressOnOverlap - property for managing the visibility of the cluster object icon if objects on the map overlay.
π Bug fixesβ
- Fixed an issue with building offline routes between regions.
- Removed the
CallKitlibrary from the build, which was used to track phone calls when playing voice instructions in the navigator.
13.0.0 (2025-10-13)β
Important
If you are upgrading from a major version 12.x, see the migration instruction.
π Features and improvementsβ
- DgisSource.createImmersiveDgisSource - source of immersive data.
- BaseCamera.changed - channel for notifications about camera state changes.
- CameraChange - class containing information about camera state changes.
- CameraChangeReason - reasons for camera state changes.
- LevelInfo.linkedLevelIds - identifiers of linked floor plans.
- BriefRoadEvent.trustworthy - flag indicating the reliability of a road event.
- IndoorBuilding.mode and IndoorBuilding.modeChannel - mode of displaying buildings with floor plans.
- IndoorBuilding.linkedWith() - method for checking the link between buildings with floor plans.
- RoadEvent.elevation - elevation of a road event.
- BranchesInfo and DirectoryObject.branchesInfo - information about linked organizations.
- FloorsInfo and BuildingInfo.floorsInfo - information about the number of floors in a building.
- SearchManager.search() - method for searching directory objects using SuggestQuery and settings.
- SearchSettings - settings for searching directory objects.
- SearchHistoryKeyStrategy and SearchHistory.setKeyStrategy() - method for setting the strategy for creating keys for search history items.
- IncompleteTextHandler.searchQuery - property of the search query.
- RouteCamera.mobility - flag indicating the mobility of a road camera.
- ObstacleInfo.objectId - identifier of an obstacle object on the route.
- BicycleRouteSearchOptions.avoidUnpavedRoads - flag to avoid unpaved roads on bicycle routes.
- PedestrianRouteSearchOptions.avoidUnpavedRoads - flag to avoid unpaved roads on pedestrian routes.
- ScooterRouteSearchOptions.avoidUnpavedRoads - flag to avoid unpaved roads on scooter routes.
- DataPrefetcher and NavigationManager.dataPrefetcher - class for prefetching map tiles along the route.
- FinishDetector and NavigationManager.finishDetector - class for managing the route completion controller.
- TrafficJamDetector and NavigationManager.trafficJamDetector - class for detecting traffic jams on the route.
- MapLocationController.userControlOverMap - flag for applying custom values of the map zoom level and tilt.
- CrossingType and Route.crossingTypes - types of crossings on the route.
- MotorcycleBriefRouteInfo - class with basic information about a motorcycle route.
- MotorcycleBriefRouteInfoTrafficSpeed - traffic speeds for motorcycle routes.
- MotorcycleRouteSearchOptions - class with parameters of motorcycle routes search.
- PublicTransportInfo.routeInfos - descriptions of public transport routes.
- PublicTransportRouteInfo - class with information about a public transport route.
- PublicTransportCostInfo - class containing information about the cost of travel on public transport.
- RouteTollPaymentPointInfo and Route.tollPaymentPointInfos - class containing information about payment points on a toll road.
- RouteTollPaymentPointType - type of payment on a toll road.
- TraversalType - direction of public transport circular line.
- Package.pause() - method for pausing the package installation or update.
- Package.install(InstallFallback) - method for installing or updating a package with an error handler.
- InstallFallback - interface for defining behavior in case of errors during package installation or update.
- DefaultInstallFallback - factory for creating strategies for handling errors during package installation or update.
- DefaultInstallFallback.noOperation() - method for creating an
InstallFallbackthat performs no operations. - DefaultInstallFallback.retryOnError() - method for creating an
InstallFallbackthat retries the installation in case of a package download error. - VoiceManager.defaultVoice - property for obtaining a voice package based on a list of locales.
- Enabled creating road events in NavigationView using RoadEventCreatorView in the SwiftUI element of the navigator dashboard.
β Breaking changes and backward compatibilityβ
-
For thread isolation and compatibility with Swift 6, added the
@MainActorto the project and marked protocols, structures, and functions asSendable. -
Updated the minimum supported iOS version to 16.0.
-
Major changes in SwiftUI elements:
- Renamed the main map layer
MapViewOverlayto MapView and all methods for configuring the layer. - Renamed the
IMapFactory.mapViewOverlayproperty to IMapFactory.mapView. - Renamed the
IMapControlViewFactoryfactory of SwiftUI elements for map control to IMapViewsFactory. - Renamed methods of SwiftUI elements for creating road events to RoadEventCreatorView.
- Renamed methods of SwiftUI elements for configuring the display of road event information to RoadEventInfoView.
- Renamed custom SwiftUI markers and containers on the map
MapMarkerView,MapMarkerViewModel, andMapMarkerViewOverlayto MarkerView, MarkerViewModel, and MarkerOverlayView, respectively. - Renamed the
IMapFactory.mapMarkerViewOverlayproperty to IMapFactory.markerOverlayView. - Renamed the main navigator layer
NavigatorViewto NavigationView. - Renamed the
NavigatorView.navigatorViewFinishButtonCallback()method to NavigationView.finishButtonCallback(). - Renamed the
INavigatorViewFactoryfactory of SwiftUI elements for navigator control to INavigationViewFactory.
- Renamed the main map layer
-
Major changes in UIKit elements:
- Renamed the main map layer
IMapViewto IMapUIView. - Renamed the
IMapFactory.mapViewproperty to IMapFactory.mapUIView. - Renamed interfaces for the gesture processing layer
IMapGestureViewandIMapGestureViewFactoryto IMapGestureUIView and IMapGestureUIViewFactory, respectively. - Renamed the
IMapFactory.gestureViewproperty to IMapFactory.gestureUIView. - Renamed custom UIKit markers and containers on the map
IMarkerView,IMarkerViewFactory, andIMarkerViewOverlayto IMarkerUIView, IMarkerUIViewFactory, and IMarkerOverlayUIView, respectively. - Renamed the
IMapFactory.markerViewOverlayobject to IMapFactory.markerOverlayUIView. - Renamed the
IMapControlFactoryfactory of UIKit elements for map control to IMapUIControlsFactory. - Renamed all public classes for UIKit controls, models, and their factories. For example, renamed the
ZoomControlto ZoomUIControl,TrafficControlto TrafficUIControl, andIndoorControlto IndoorUIControl, etc. - Renamed the
RoadEventCardViewOptionsfactory of UIKit elements for road event cards to IRoadEventUIViewFactory. - Renamed the
IRoadEventCardViewobject to IRoadEventInfoUIView. - Renamed the
ICreateRoadEventViewobject to IRoadEventCreatorUIView. - Renamed the
RoadEventCardViewOptionsobject to RoadEventInfoViewOptions. - Renamed the main navigator layer
INavigationViewto INavigationUIView. - Renamed the
INavigationViewControlsFactoryfactory of UIKit elements for navigator control to INavigationUIControlsFactory. - Renamed the
INavigationMapControlsFactoryfactory of UIKit elements for map control to INavigationMapUIControlsFactory.
- Renamed the main map layer
-
Now, a single channel BaseCamera.changed is used to track camera state changes instead of separate channels for each property. Subscriptions are replaced, and additional filtering of change reasons is added.
-
Changed the method of creating some classes:
- Removed the
getSystemMemoryManagerfunction. To obtain an object for managing system memory, use the SystemMemoryManager.instance() method. - Removed the SearchHistory constructor. To obtain a search history object, use the SearchHistory.instance() method.
- Removed the RoadEventManager constructor. To obtain an object for working with road events, use the RoadEventManager.instance() method.
- Removed the
getHttpCacheManagerfunction. To obtain an object for managing the HTTP cache, use the HttpCacheManager.get() method. - Removed the
getLocaleManagerfunction. To obtain an object for managing application locales, use the LocaleManager.instance() method. - Removed the TrafficCollector constructor. To obtain an object for managing the service for traffic information collection, use the TrafficCollector.instance() method.
- Removed the
getAudioSettingsfunction. To obtain an object for managing application sound, use the AudioSettings.get() method. - Removed the
getPackageManagerfunction. To obtain an object for managing packages, use the PackageManager.instance() method. - Removed the
getTerritoryManagerfunction. To obtain an object for managing territories, use the TerritoryManager.instance() method. - Removed the
getTerritoriesAlongRouteProviderfunction. To obtain an object for extracting a list of territories along a route, use the TerritoriesAlongRouteProvider constructor. - Removed the
getVoiceManagerfunction. To obtain an object for managing voice packages, use the VoiceManager.instance() method.
- Removed the
-
Removed the
buildingLevelsproperty for obtaining floor plans from the DirectoryObject. -
The DirectoryObject.buildingInfo property is now optional.
-
The BuildingInfo.buildingId property is now mandatory and cannot be empty.
-
The LevelInfo.id property is now optional.
-
Changed the type of the PublicTransportDirectoryRouteInfo.color property from
Int?toColor?. -
The SearchQueryBuilder.setGeoPoint() method now accepts an optional value type.
-
The SearchQueryBuilder.setRadius() method now accepts an optional value type.
-
Removed the
getRoadMacroGraphfunction and theRoadMacroGraphclass. Now, to build offline routes between neighboring regions, download the required region packages. -
Removed the class for configuring the position of the bubble with lanes on the route (
LanesCalloutMapPositionandRouteMapObject.lanesCalloutPositions) and the property from the RouteMapObject. -
Renamed the
UIntRouteLongAttributeclass to DoubleRouteLongAttribute. -
Changed the type of the Route.trafficLights property from VoidRouteAttribute to StringRouteAttribute.
-
Added a new transport type
motorcycleto TransportType. -
Added parameters for configuring the style zoom level to the SpeedRangeToStyleZoom constructor.
-
Added the
rampDown,rampUp,smoothRampDown, andsmoothRampUpvalues for ramps to RoadSubtype. -
Added new values of positions and landmarks to CarInstructionCrossroadLandmark.
-
Added the
deepGreenandorangecolor values to TrafficSpeedColor. -
Added the
crossingflag for displaying the start and end of a crossing on a route to RouteMapObjectDisplayFlag. -
Added the
crossingnew type of a route point (the start and end of a crossing) to RoutePointKind. -
Added values for event notifications
betterRoute("better route") andhumps(speed bumps) to SoundCategory.
π Bug fixesβ
-
Fixed an issue that caused the application crash when running SearchManager.createSmartManager() if there were no downloaded territories.
-
Added support for iPhone 17, iPhone 17 Pro, iPhone 17 Pro Max, and iPhone Air models, considering their PPI when calculating DPI.
-
Fixed an issue in the search history where repeatedly adding the same item caused errors.
-
Fixed an issue where new search queries were not saved in the history when the set limit was reached.
-
Added a filter to hide building floors on the map if their area on the screen is below a certain threshold.
-
Fixed sound notifications in the navigator:
- Fixed an issue where the "camera behind" warning was not voiced.
- Fixed an issue where promo phrases were not voiced despite having a valid voice package.
- Added sound notifications for stairs on the route.
- Fixed an issue where intersection control cameras were voiced as speed control cameras.
- Added sound notifications for route rebuilding for bicycles and scooters.
-
Fixed the navigator operation issues in case of problems with the GPS signal:
- Fixed an issue where the current location marker changed its position when the weak GPS signal detector was active.
- Fixed issues that occurred when the user approached the end point of the route with an unstable GPS signal.
- Added a feature to disable route deviation detection when GPS signal accuracy is low.
- Now, when GPS signal accuracy drops sharply during navigation, the user location is not moved to another place on the map.
-
Fixed the navigator operation issues:
- Fixed an issue where the bubble with information about the route time and length was not displayed on the route search screen if one of the routes lacked unique segments.
- Fixed an issue where the time difference in the alternative route bubble was not updated if the user did not move while using the navigator.
- Removed exit names in bubbles if no direction is specified or the exit leads to an object of the "airport" type.
- Fixed an issue where road event icons did not respond to taps.
- Added support for displaying and coloring traffic jams on unpaved roads.
- Fixed duplication of icons for Moscow MCC, MCD, Aeroexpress, and suburban trains in the bubble of a route with transfers.
- Fixed incorrect display of the route line at intersections.
- Removed the display of an additional icon with lanes for cameras that record failure to give priority to pedestrians.
- Fixed an issue where the user geolocation was incorrectly snapped to the route when returning to it.
- Fixed an issue that caused the application crash when rebuilding a pedestrian route in turn-by-turn mode.
- Fixed behavior where additional icons were displayed on the route after the expiration of a road event.
- Updated the logic for displaying additional icons with lanes for confirmed road events.
- Added a restriction where toll roads are excluded from the route when it is rebuilt if the user selected free roads only.
- Added displaying of notifications about stairs on the route estimated time panel.
- The navigator now continues to guide the user along the route and rebuilds it if necessary, even if the finish pane (with the Finish route button) is closed.
- Updated the logic of lane filtering: lanes that allow straight movement are not excluded from the route lane bubbles.
- Added visualization of blinking of traffic jams on the route at speeds of 80β90 km/h.
-
Fixed the layout of all SwiftUI elements in NavigationView.
-
Fixed the return to position tracking and zoom level in NavigationView. The camera and tracking mode now restore correctly when exiting the route overview.
πΊ Map style updatesβ
- Styles must be exported again: fixed issues with displaying custom and immersive objects.
- Updated all layers in the
Roadsgroup for displaying immersive roads in the main map mode. - Added the
Traffic v13.0.0group for displaying new colors of tiles with traffic jams. - Added the
Car route line v13.0.0group for displaying car routes on immersive roads.
12.8.0 (2025-08-14)β
π Features and improvementsβ
- Added support for the Armenian language on the map, in the directory, and for routing. Also added Armenian voice notification packages.
- MiniMapView and NavigationMiniMapView - SwiftUI mini-map elements to be displayed on the map and in NavigatorView.
- SearchResultItemView - SwiftUI element for displaying a mini card of an object in search results. Includes corresponding themes, localization, and auxiliary visual elements and utility components.
- RoadEventCreatorView - SwiftUI element for creating road events.
- RoadEventInfoView - SwiftUI element for displaying road event information.
- IRoadEventViewFactory - factory for creating SwiftUI elements for road events.
- TrafficRouter now allows specifying the route search engine type (online, offline, or hybrid) using RouterType.
- NavigationManager and RouteEditor now support specifying the route search engine (TrafficRouter).
π Bug fixesβ
- Traffic data via TrafficSource is no longer requested or updated while the application is in the background.
- Improved dashboard layout for trip management in NavigatorView: updated paddings, button sizes, component order and structure, and fixed element height values.
- Adjusted maneuver block paddings in NavigatorView so that messages about GPS signal loss and route recalculation are displayed lower on the screen.
12.7.2 (2025-06-20)β
π Features and improvementsβ
- DirectoryObject.platformIds - information about identifiers of public transport platforms in a directory object.
- EntranceInfo.entranceNumber - entrance number of the public transport station.
π Bug fixesβ
- DirectoryObject.routeInfos now returns correct information about routes that pass through a particular public transport platform.
- DirectoryObject.entrances now returns correct information about metro entrances.
12.7.0 (2025-06-03)β
π Features and improvementsβ
- DirectoryObject.routeInfos - information about public transport routes in a directory object.
- ItemMarkerInfo.tradeLicense - information about the organization trade license in a marker.
- SearchResult.nearbyRequested - flag in search results indicating that nearby objects were requested during the search.
- TrafficRoute.routeTollPaymentInfos - information about toll costs for paid sections of the route.
- RoadMacroGraph - global road graph package will be deprecated in next versions. You can build routes between territories using downloaded offline data.
- SwiftUI elements for displaying error messages during route building and for showing the "better route" selection in the NavigatorView.
πΊ Map style updatesβ
- Styles must be exported again: in the navigator, fixed displaying immersive roads and fog.
12.6.3 (2025-05-13)β
π Bug fixesβ
-
Optimized TrafficSource:
- Traffic tiles are requested when changing the map scale and by timer.
- Traffic jam score is updated when changing the region and by timer.
-
Improved map performance when adding polygons with a large number of vertices via MapObjectManager.
12.6.0 (2025-04-17)β
π Features and improvementsβ
- TextStyle.suppressOnOverlap - option to hide marker label text when it overlaps with other objects.
π Bug fixesβ
- Fixed the update of generalization when changing attributes of objects added via the MapObjectManager.withGeneralization() method.
- Fixed an issue where the application would crash when logging network requests.
- Fixed an issue where the application would crash when handling the map tilt gesture.
12.5.0 (2025-03-25)β
π Features and improvementsβ
- SearchQueryBuilder.setLocale() - method to define the locale where a search request is executed.
- DirectoryObject.group - combination of objects of different types in one card. For example, a courthouse card contains information about a building as a geographical object and about the court as an organization inside the building.
- SearchQueryWithInfo.rubrics - list of rubrics to search by.
- PackedSearchQuery.locale - search query locale.
- VoiceAssistantView - SwiftUI element to manage voice input. To create the element, use the IDirectoryViewsFactory.makeVoiceAssistantView method.
π Bug fixesβ
- Fixed an issue that caused a geolocation marker added via MyLocationMapObjectSourcedisappear during the first camera flyover.
- Fixed the recovery of displaying the geolocation marker when an application returns from being in the minimized state for a long time.
- Fixed the display of route information on the map when the text is written right-to-left for the RouteEditorSource data source.
- Changed the settings of caching source data on a route. Now the data is cached at a distance of 4000 meters forward from the current position on the route instead of 20000 meters.
πΊ Map style updatesβ
- Styles must be exported again to apply the fix of displaying route information on the map when the text is written right-to-left.
12.4.3 (2025-02-19)β
π Features and improvementsβ
- Projection.distanceOnMap() - method for calculating the distance between points on the map that correspond to the specified points on the screen.
- Projection.distanceOnScreen() - method for calculating the distance between points on the screen that correspond to the specified points on the map.
π Bug fixesβ
- Fixed the display of a circle on the map when adding a Circle object to MapObjectManager.withClustering and MapObjectManager.withGeneralization.
12.4.0 (2025-01-30)β
π Features and improvementsβ
- Container.makeNavigatorViewFactory and INavigatorViewFactory - factory for working with navigator SwiftUI elements.
- NavigatorView - container with navigator SwiftUI elements.
- INavigationMapViewsFactory - factory with map SwiftUI elements for NavigatorView.
- INavigationViewsFactory - factory with navigator SwiftUI elements for NavigatorView.
- Map.sublayerAttributes - feature to override attributes of a particular map layer.
- SearchHistory - class for working with search query history: reading, adding, and deleting records with information about search results and search suggestions.
- SearchQueryBuilder.fromOrgId() - method for building a search query by organization identifier.
- SearchQueryBuilder.fromBuildingId() - method for building a search query by building identifier.
- SearchQueryBuilder.fromGeoPoint() - method for building a search query with the center of the search area.
- SearchQueryBuilder.setGeoPoint() and SearchQueryBuilder.setRadius() - methods for specifying the center of the search area and the radius when building a search query.
- DirectoryObject.orgInfo - information about an organization in the directory object.
- MyLocationMapObject.setModelData() - method for specifying a 3D model of a geolocation marker.
- BaseCamera.viewPoint - feature to change the camera viewpoint relative to the size of the map viewport.
- AnimationSettings.animationName - feature to switch 3D model animation by its name.
- Added guide on managing style layers of the map.
π Bug fixesβ
- Now the position of the 3D model coincides with the camera direction if the bearing value is not specified in ModelMapObject.mapDirection.
- Fixed incorrect configuring attributes for generalizing objects added to the map via MapObjectManager.withClustering. Now changing object attributes at a certain zoom level is applied to all levels.
- Fixed the operation of the attribute for controlling the visibility of an object on the map SimpleMapObject.isVisible when generalizing and clustering objects.
πΊ Map style updatesβ
- Fixed the priority of processing clicks between the geolocation marker and buildings on the map.
12.3.0 (2024-12-18)β
π Features and improvementsβ
- ModelMapObject and ModelMapObjectOptions - classes for creating and configuring dynamic objects with 3D models. You can add these objects to the map using MapObjectManager.
- ModelData and IModelFactory - feature to upload custom 3D models.
- Now when you add TrafficSource to the map, traffic tiles are requested based on the screen viewport, regardless of updating the SDK configuration file.
- DirectoryObject.rubricIds - rubric identifiers in the directory object.
- FreeRoamSelector and NavigationManager.freeRoamSelector - feature to enable and disable switching the navigator to
FreeRoammode if the route rebuilds too long. - RouteRebuilder and NavigationManager.routeRebuilder - feature to enable and disable searching for a new route when leaving the current route.
- TrafficRouter.requestRoute - feature to search for a route using previously serialized parameters.
π Bug fixesβ
- Fixed duplicating branch numbers for organization categories in Suggest.subtitle.
- Fixed an issue of getting coordinates of an object when processing of click in the Marker that is added to the map before the initial map loading.
- Fixed the display of the 3D model of navigator geolocation marker for all route types except pedestrian. For a pedestrian route, a regular model of geolocation marker is displayed.
- Updated navigator configuration to improve performance in poor GPS signal conditions.
- Fixed the display of a next maneuver for left-hand traffic when passing roundabouts in INavigationView.
πΊ Map style updatesβ
- Added a layer for displaying dynamic 3D models.
12.2.1 (2024-12-03)β
π Bug fixesβ
- Fixed the issues that caused performance degradation when displaying a large number of objects on the map.
12.2.0 (2024-11-15)β
π Features and improvementsβ
- AnimationSettings - class for configuring the map object animation. Can be applied to objects with the
3D modelandDirectional modellayer types. - MyLocationMapObject.animationSettings - feature to configure the geolocation marker animation if an animated model is loaded as a model in styles.
- MyLocationMapObject.objectAttributes - feature to configure style attributes for a geolocation marker. You can find available attribute values in styles for a corresponding layer.
- RoadEventMapObject.animationSettings - feature to configure the road event animation if an animated model is loaded as a model in styles.
- RoadEvent.id - road event identifier.
- ParkingControlModel - model for switching the visibility of parking lots on the map.
- ItemMarkerInfo.rubricIds - identifiers of rubrics that a marker object belongs to.
- TextHorizontalAlignment - 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 - class for getting route objects on the map.
- RouteMapObject.roadEventObjects - road events on the map for a corresponding route.
- MyLocationMapObjectSourceProvider and NavigationManager.myLocationMapObjectSourceProvider - 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.
12.1.0 (2024-09-24)β
π Features and improvementsβ
- ItemMarkerInfo.title - 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)β
Important
If you are upgrading from a major version 10.x, see the migration instruction.
π Features and improvementsβ
-
Immersive roads of actual width are displayed in the navigation mode if:
- Map.graphicsPreset field is set to
IMMERSIVE. HttpCacheis enabled using HttpOptions.useCache.
Roads of actual width are currently available in several large cities of Russia, the 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 - property for setting a camera viewport.
-
MapOptions.graphicsPreset - property for setting a graphic mode via GraphicsPreset during map initialization.
-
Map.graphicsPreset - property for setting a graphic mode via GraphicsPreset for a created map.
-
Map.graphicsPresetHint - property for obtaining the recommended graphic mode for the given device.
-
Enabled titling the map up to 70 degrees starting from the scale level 18.
-
RasterUrlTemplate - feature for setting a 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 - property for forcing map orientation to the north.
-
RouteCamera.maxSpeedLimit - property for setting a 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.
-
Added support for sound instructions for bicycle and scooter intersections.
-
RouterType - feature for setting the search engine type in AlternativeRoutesProviderSettings to search for alternative routes.
-
toRoutePointin the MillisecondsRouteAttribute.calculateDuration() method - parameter for calculating the duration of moving along the route part towards a particular point. -
TerritoryManager.findByPoint() and TerritoryManager.findByRect() - methods for filtering offline regions available for downloading by
GeoPointandGeoRect.
β Breaking changes and backward compatibilityβ
- Removed the
Container.apiKeyOptionsparameter. You can now explicitly pass the key file source usingKeySource,KeyFromAsset,KeyFromFile,andKeyFromString. - Removed the
Container.vendorConfigFileparameter. 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.localeManagerfields. - Removed
IPositioningServicesFactoryand theContainer.positioningServices. When creating aContainer, passContainer.locationProviderandContainer.magneticHeadingProviderseparately. - Removed
ILocationService. Instead, useLocationServicewith similar functionality. - Removed
MyLocationControllerandMapLocationController.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:
osLogLevelandcustomLogLevelare nowsystemLevelandcustomLevelcorrespondingly. - Renamed values in LogLevel:
disabledandfaultare nowoffandfatalcorrespondingly. - Removed the
CameraState.followPositionvalue. Instead, use the Camera.behaviour value. - Extended values for SuggestedType, SuggestorType, and ObjectType so that they now correspond to Places API results.
- Aligned MyLocationMapObjectMarkerType values with standard naming.
- Removed the
createRasterTileDataSource()method. Added a new source RasterTileSource, which enables setting transparency for raster tiles. - Removed
AudioVolume. You can now set instructions volume from 0 to 100 using AudioSettings.volume. - Removed
AudioOptionsandIAudioSettings. UseAudioSettingsto 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.
- Added support for 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.