Android SDK Release notes | 2GIS Documentation

Release notes

Important: API versions described below are deprecated. Use versions 5.0.0 or higher. See instructions on How to migrate from lower versions.

Release Date: January 11, 2023

  • Fixed navigation failure if the data package misses voice instructions.

Release Date: December 30, 2022

  • Fixed issues with the HttpOptions.timeout setting, which previously did not change the timeout of OnlineSearchManager/SmartSearchManager requests.
  • Disabled OpenStreetMap appearing in the copyright.

Release Date: November 16, 2022

  • Improved work of SmartSearchManager: now any exceptions in OnlineSearchManager switch to OfflineSearchManager.
  • Now it's possible to set identifier for On-Premise keys in WebAPI queries.
  • In case of empty result OfflineSearchManager does not throw an exception, but returns an empty list.

Release Date: November 8, 2022

  • Implemented methods MapView.addObjectTappedCallback, MapView.addObjectLongTappedCallback, MapView.removeObjectTappedCallback, MapView.removeLongTappedCallback to add and remove MapObjectTappedCallback - tap and long-tap map handlers.
  • More correct calculation of divergence point between main route and better route.
  • Fixed locale definition in search queries. Region is now determined via area of interest or the user's current location.

Release Date: October 31, 2022

  • Added lastPosition property to DefaultLocationSource - last known user location.
  • Fixed an issue where a route would better disappear along with the route selection panel after a timeout.

Release Date: October 31, 2022

  • Fixed an issue where the route would better disappear along with the route selection panel after a timeout.

Release Date: October 13, 2022

  • Updated the company logo in the copyright on the map.

Release Date: October 13, 2022

  • Updated the company logo in the copywriter on the map.

Release Date: October 13, 2022

  • Updated the company logo in the copywriter on the map.

Release Date: September 29, 2022

  • Added ability to search and display pedestrian routes in buildings with floor plans.
    • When searching, PedestrianRouteSearchOptions.useIndoor must be enabled (enabled by default).
    • The route in the building is displayed as a dashed line on the active floor, and when RouteMapObjectDisplayFlag.INACTIVE_FLOORS is enabled, it is displayed on all floors.
    • Icons with instructions are displayed on transitions between floors, their visibility is controlled by RouteMapObjectDisplayFlag.INDOOR_INSTRUCTIONS.
    • Get information about the floors the route passes through with Route.levels.
  • Added pedestrian navigation in a building (the feature is experimental and will be finalized). Enabled when route is built considering floors (with flag PedestrianRouteSearchOptions.useIndoor) when entering building. Navigator's UI is changed - floor toggle control is displayed with marking which floors the route goes through, destination point's floor number is displayed in the bottom pane.
  • Added a method of getting basic information about routes (travel time, length, etc.) quickly without constructing them - TrafficRouter.findBriefRouteInfos.
  • Added fare search on scooters. To do this, set ScooterRouteSearchOptions in TrafficRouter.findRoute.
  • Added information about altitudes on the route - Route.altitudes.
  • Added information about prohibited routes - Route.truckRestrictedAreas, Route.vehicleRestrictedAreas.
  • Added ability to "eat" route from either end - RouteMapObject.passedDistanceVisualization.
  • Added method for simultaneous setting multiple routes RouteMapObject.replaceAllObjects.
  • Added settings for displaying callouts on the route RouteMapObject.calloutLabelFlags, RouteMapObject.calloutLabelDisplayMode.
  • Ability to not hide some elements of the route as it "eats" - RouteMapObject.permanentDisplayFlags.
  • Added class to control map tracking for geoposition marker in navigator - NavigationFollowController.
  • Added ability to get route callout through Map.getRenderedObject, the returned object has type RouteInfoCalloutMapObject.
  • Increased accuracy of displaying remaining travel time in navigator.
  • Removed RoutePosition, a redundant class, and used RoutePoint instead.
  • Removed Model.cameraProgressChannel, you must use class CameraNotifier instead.
  • Traffic.durations is now of type MillisecondsRouteAttribute instead of SecondsRouteLongAttribute and more accurate values.
  • The Route.obstacles now has the type ObstacleInfoRouteAttribute and contains additional information besides the obstacle type.
  • The constructor ZoomFollowController now takes the Map parameter.
  • Added floor display logic for the pedestrian route (Pedestrian route line group) and objects on the route (Point A, Point B, Route joints, Intermediate route points in the Dynamic objects group).
  • Added building navigation instructions - group Indoor instructions.

Release Date: August 26, 2022

  • Ability to set the font of the marker labels by specifying TextStyle.fontName - font name from the style editor.
  • New enum value CameraState.FOLLOW_POSITION - camera is in position tracking mode.
  • Optimized offline fare search - do not load unnecessary region data.
  • Fixed camera jerks during navigation at close maneuvers.
  • Fixed wiping of a route when navigation is restarted.
  • Fixed the crash when deleting the traffic jam source.
  • Fixed display of the navigator's maneuvers when driving on the left side of the road.
  • Improved operation of MyLocationControl - zooming in to geoposition, switching between three tracking modes, displaying current mode.
  • Reduced number of network requests for data on traffic jams when moving the map quickly.
  • Timeout errors when downloading a traffic jam score are not logged as an error.
  • Fixed better route display in navigator in case animations are disabled on the device.

Release Date: August 4, 2022

  • The geoposition source that can be used by default is DefaultLocationSource. To do this, its instance must be passed to registerPlatformLocationSource.
  • Fixed an exception in Map.visibleArea.
  • Localization of inscriptions on the map now uses all system-defined languages.
  • Localization of road event captions.
  • Fixed route rebuilding during navigation.
  • Changed the default value of the radius parameter in Map.getRenderedObjects.

Release Date: July 15, 2022

  • Fixed flickering of traffic jams when zooming the map.
  • Fixed display of stops and connection points on routes.
  • Fixed map update when locale is changed.
  • DirectoryObject.markerPosition.elevation can now have a non-zero elevation value.
  • Increased timeout of network fare search queries (the previous one was insufficient for long-distance routes).
  • Now it is not necessary to set deactivation_time in key if offline features are not used.
  • Fixed a crash when checking for intersections of geometries using the Geometry.intersects method.
  • Fixed a crash when clicking in the logo on the map when there was no browser in the system.
  • Fixed potential crashes when running the map.
  • The enum value of RouteMapObjectDisplayFlag.TRANPORT_CONNECTION_POINTS has been renamed to TRANSPORT_CONNECTION_POINTS - corrected a typo.

For all types of Mobile SDK:

  • You need to contact 2GIS technical support to get a new key to use MobileSDK. It is mandatory to specify the appId of the application for which the key will be created. The received key file dgissdk.key must be added to assets.
  • The ApiKeys structure has been removed. The corresponding parameter in DGis.initialize has also been removed.
  • Update styles.
  • Renamed the DirectoryObjectId class to DgisObjectId.
  • Removed serialize, deserialize functions for CameraPosition instead they should use new serialization mechanism - PackedMapState.
  • Removed methods SearchQueryBuilder.setLocation and SuggestQueryBuilder.setLocation - the value is automatically taken from the geoposition source.
  • Removed method PackedSearchQuery.location.
  • Removed SearchResultMarkerObject and SearchResultMarkerSource for generating search result tokens due to lack of ability to dynamically add or remove objects. As an alternative, the user is offered to implement token generation himself or use clustering.
  • When creating MyLocationMapObjectSource by default SmoothMyLocationController is used instead of RawMyLocationController.

Additionally for full version:

  • Removed lists with route information in RouteInfo - cameras, instructions, laneSigns etc. and indexes of current items - Model.cameraIndexChannel, Model.instructionIndexChannel. Instead the information should be obtained directly from the route and the current position, for example, get the nearest camera - Model.route.route.cameras.findNearForward(position).
  • Renamed the route search parameters:
    • BicycleRouteSearchOptions.avoidUnderpasses -> avoidUnderpassesAndOverpasses
    • CarRouteSearchOptions.avoidFerry -> avoidFerries
    • TruckRouteSearchOptions actualWeight, maxPermissibleWeight -> actualMass, maxPermittedMass
  • The enum value RoadType.ROAD is divided into subtypes RoadType.HIGHWAY, RoadType.FEDERAL_ROAD etc.
  • The VoiceSelector.setVoice method is replaced by the voice property.
  • Removed Model.durationChannel, Model.routeDurationChannel, instead Model.dynamicRouteInfo.traffic.durations.calculateDuration(routePoint).
  • Changed the set of enum RoadSurface values.
  • Removed Model.navigationActiveChannel, NavigationManager.uiSettings, instead a new class ActivityTracker is used to get navigator activity.

Release Date: July 13, 2022

  • Fixed crash when checking for intersecting geometries with Geometry.intersects method.
  • Fixed crash when clicking in the logo on the map when there was no browser in the system.
  • Fixed potential crashes when running the map.

Release Date: June 17, 2022

  • Hybrid mode of operation.
    • Added ability to download data for map, guidebook and fare finder operation, which will be used in the future when there is no internet connection. The TerritoryManager is used to download data about territories and get information about them.
    • The map works in hybrid mode by default - it simultaneously uses the sources created through DGisSource.createOnlineDgisSource and DGisSource.createOfflineDgisSource. This can be changed by specifying when creating MapOptions.sources, for example, to use online only or offline only.
    • Hybrid directory search engine - SearchManager.createSmartManager (but there are also separate createOnlineManager and createOfflineManager).
    • The fare search (TrafficRouter) is always hybrid - it uses online/offline data depending on its availability.
    • With TerritoriesAlongRouteProvider you can get a list of areas the route passes through.
  • Display of floor plans.
    • Occurs automatically when the map approaches large buildings (shopping malls, airports, etc.).
    • To get information about the floor plans and switch them, serves `IndoorManager'.
    • There is a ready-made UI controller for floor management - IndoorControl.
    • Dynamic objects (SimpleMapObject) can be placed on a specific floor plan using the parameter levelId.
  • Display pop-up tooltips with lanes over the navigator's route.
    • By default, RouteMapObjectDisplayFlag.LANES_BUBBLES is enabled.
    • Cue positions on the route can be obtained with RouteMapObject.lanesCalloutPositions.
  • Information about events and traffic jams on the route in the navigator - Model.dynamicRouteInfo. To set its updating parameters, use NavigationManager.dynamicRouteInfoSettings.
  • To set the parameters of the route display in the navigator, use NavigationManager.routeMapSettings.
  • Automatic switch to Free Roam mode when leaving the route.
  • Added route search settings - NavigationManager.betterRouteProviderSettings.
  • Added fields with lane sign boundaries - RouteLaneSign.signStartPoint, signPoint, signEndPoint.
  • Added option "avoid stairs" on pedestrian routes - PedestrianRouteSearchOptions.avoidStairways.
  • Possibility to set timeout for HTTP requests - HttpOptions.timeout.
  • Changed logic of work with keys. In assets of the application must be added file dgissdk.key, which contains information about the key.
  • New design of the UI navigator NavigationView together with all the controls. The design now coincides with the new navigator of the 2GIS application.
  • In addition to the updated design of controls in the new navigator:
    • The ability to set the color schemes of all the controls has appeared.
    • Defining callback function for the trip completion button. If the callback is not set, the button will not be displayed in the bottom pop-up bar.
    • By default, the display of lane callouts is enabled.
    • New AddRoadEventControls controller to add road events.
  • For bicycle routes, bicycle-specific attributes are added, such as:
    • Route.badRoads - whether the road is bad.
    • ExtraInstructionInfo.bicycleCrossroad- bicycle instructions BicycleInstructionCrossroad, BicycleInstructionCrossroadManeuver, BicycleInstructionCrossroadManeuverDirection, BicycleInstructionCrossroadLandmark.
  • By default, the Free roam caching of tiles in the route mode is enabled. Use FreeRoamSettings.onRoutePrefetchLength, FreeRoamSettings.onRoutePrefetchRadiusMeters and FreeRoamSettings.cachePrefetchRadiusMeters to set caching.
  • Added flag TruckRouteSearchOptions.fallbackOnCar, which allows to search car route if truck route cannot be found.
  • Exit signs appeared in lane callouts.
  • Added information about exits in DirectoryObject - EntranceInfo.
  • Modified SearchManager.suggest to display entrances and apartments.
  • Modified SearchManager.searchByDirectoryObjectId and SearchManager.searchById to search the entryway by ID.
  • Added ability to customize the display of active and inactive routes through RouteEditorSource.activeDisplayFlags and RouteEditorSource.inactiveDisplayFlags.
  • Added RouteMapObjectDisplayFlag.BUBBLES flag to control the visibility of callouts on routes.
  • Added priorities for network requests so that higher-priority data is loaded first.
  • Added Map.dataLoadingState channel to track map loading state.
  • Ability to bind UI View to a position on the map - SnapToMapLayout.
  • Processing of clicks on building entrances. Added field DgisObjectId.entranceId - entrance identifier. It is populated for entrances received through Map.getRenderedObjects. Support for inputs in the navigator will be added in future releases.
  • The navigator control that displays traffic jams on the route is TrafficLineControl.
  • Route overview in the navigator. Enabled by selecting appropriate Dashboard action or clicking on TrafficLineControl.
  • Free Roam data caching. Caching settings can be configured using NavigationManager.freeRoamSettings.
  • Fixed an issue where a camera voiced once on a route was no longer voiced when passing through it again.
  • Fixed search in offline and hybrid modes.
  • Optimized traffic jam update.
  • Disabled display of floor plans in navigation mode.
  • Optimized sending statistics in navigation mode.
  • Optimized logic of route re-request.
  • Fixed an issue where the constructed route was left on the map when the trip was completed.
  • Fixed display of the traffic jams during tracking.
  • Resized Mobile SDK map assembly.
  • Fixed the order of routes drawing.
  • Displaying of floor plans.
    • There are new catalogs with layers: Floor Squares, Organization Squares, Floor Walls, Organization Anchors, Floor Attractions, Floor Captions.
    • All layers in the "3D Houses" catalog as well as the "3D Models" layer have changed the data selection condition.
  • It is required to reload the styles from the editor in order for the lane cues to appear.
  • The names of the layers have been translated into English.
  • Layer "Driveways above houses" became interactive - available for retrieval through Map.getRenderedObjects.
  • Removed layers "Traffic circled level [-3..3]".
  • Changed line width of "Traffic jams, background", "Traffic jams fill color level [-3..3]".
  • Added arrows parameters in "Car route line" folder for layers "Maneuver arrows, large scale, tracking mode", "Maneuver arrows, fine scale, tracking mode".
  • The text color, halo color and halo size were changed in "Traffic alerts along the route" and "Traffic alerts along the route, tracking mode" layers for "Small gates", "Stairs up", "End of pedestrian underpass", "Beginning of pedestrian underpass", "Stairs down", "Boom gate", "Speed hump".
  • Changes for new navigator: colors/sizes of traffic jams, route, maneuvers, new arrow model.
  • Support for placing SimpleMapObject objects on floors.

Release Date: June 9, 2022

  • Property MapObjectManager.isVisible - enable/disable display of all objects simultaneously.
  • Fixed potential blocking of UI stream for a long time when working with the network.

Release Date: May 30, 2022

  • Fixed bug downloading network certificates on some devices.

Release Date: May 25, 2022

  • CapObjectManager.isVisible` property - enable/disable displaying of all objects simultaneously.
  • Ability to bind UI View to a position on the map - SnapToMapLayout.
  • Processing of clicks on building entrances. Added the field DgisObjectId.entranceId - entrance identifier. It is populated for entrances received through Map.getRenderedObjects. Support for inputs in the navigator will be added in future releases.
  • The navigator control that displays traffic jams on the route is TrafficLineControl.
  • Route overview in the navigator. Enabled by selecting appropriate Dashboard action or clicking on TrafficLineControl.
  • Fixed display of traffic jams during tracking.
  • Removed Model.durationChannel, Model.routeDurationChannel, instead Model.dynamicRouteInfo.traffic.durations.calculateDuration(routePoint).
  • Changed the set of enum RoadSurface values.
  • Removed Model.navigationActiveChannel, NavigationManager.uiSettings, instead a new class ActivityTracker is used to get navigator activity.
  • Layer names have been translated into English.
  • The "Driveways above houses" layer is now interactive - available for retrieval via Map.getRenderedObjects.
  • Removed layers "Traffic circled level [-3..3]".
  • Changed line width of "Traffic jams, background", "Traffic jams fill color level [-3..3]".
  • Added arrows parameters in "Car route line" folder for layers "Maneuver arrows, large scale, tracking mode", "Maneuver arrows, fine scale, tracking mode".
  • The text color, halo color and halo size were changed in the "Traffic alerts along the route" and "Traffic alerts along the route, tracking mode" catalogs for "Small gates", "Stairs up", "End of pedestrian underpass", "Beginning of pedestrian underpass", "Stairs down", "Boom gate", "Speed hump" layers in the night theme.

Release Date: May 24, 2022

  • Static map content is now loaded with higher priority than dynamic content.
  • Added network certificate load logging.

Release Date: May 18, 2022

  • Added the ability to set the SimpleObject rendering layer when creating a MapObjectManager. Added parameter - layerId - ID of the layer of the new type Dynamic Object. When it is set, objects are placed on this layer, which allows you to set their order relative to other layers.
  • Fixed map freezing at high zoom and tilt angle values.
  • Fixed an issue where loading the map in hybrid mode would fill everything with a water polygon for a while.
  • Fixed an issue where the thickness of the added Polygon object would change at different zooms.
  • Optimized plug updates - they are now cached based on style zoom.
  • Fixed an issue where using MapView in the xml-version would stop displaying Preview.

Release Date: May 4, 2022

  • Changed the logic for working with keys. You have to add a file dgissdk.key to assets of the application, which contains information about the key.
  • New UI design of the NavigationView navigator along with all the controls. The design now coincides with the new navigator of the 2GIS application.
  • In addition to the updated design of controls in the new navigator:
    • The ability to set the color schemes of all the controls has appeared.
    • Defining callback function for the trip completion button. If the callback is not set, the button will not be displayed in the bottom pop-up bar.
    • By default, the display of lane callouts is enabled.
    • New AddRoadEventControls controller to add road events.
  • Added ability to set the rendering layer SimpleObject when creating the MapObjectManager. Added parameter - layerId - the ID of the layer of the new Dynamic Object type. When it is set, objects are placed on this layer, which allows you to set their order relative to other layers.
  • Bicycle routes add attributes specific to them, such as:
    • Route.badRoads - whether the road section is bad.
    • ExtraInstructionInfo.bicycleCrossroad - bicycle instructions BicycleInstructionCrossroad, BicycleInstructionCrossroadManeuver, BicycleInstructionCrossroadManeuverDirection, BicycleInstructionCrossroadLandmark.
  • By default, the Free roam caching of tiles in the route mode is enabled. Use FreeRoamSettings.onRoutePrefetchLength, FreeRoamSettings.onRoutePrefetchRadiusMeters and FreeRoamSettings.cachePrefetchRadiusMeters to set caching.
  • Added flag TruckRouteSearchOptions.fallbackOnCar, which allows to search truck route if truck route cannot be found.
  • New field is sent in the events of navigator's statistics.
  • Faster addition of complex polygons to the map.
  • Fixed an issue where a camera voiced once on a route was no longer voiced when passing through it again.
  • Fixed search in offline and hybrid modes.
  • Optimized traffic jam update.
  • Disabled display of floor plans in navigation mode.
  • Optimized sending statistics in navigation mode.
  • Optimized logic of route re-request.
  • Fixed problem where built route was left on map when trip was completed.
  • Processing of change of network connection.
  • Fixed Channel operation - now values cannot come after connection is closed.
  • Fixed crashing when destroying the map.
  • The ApiKeys structure has been removed. The corresponding parameter in DGis.initialize has also been removed. You must now add the dgissdk.key file to the assets of the application.
  • Removed methods SearchQueryBuilder.setLocation and SuggestQueryBuilder.setLocation - value is automatically taken from geoposition source.
  • Removed method PackedSearchQuery.location.
  • Removed SearchResultMarkerObject and SearchResultMarkerSource for generating search result tokens due to lack of ability to dynamically add or remove objects. As an alternative, the user is offered to implement token generation himself or use clustering.
  • When creating MyLocationMapObjectSource by default SmoothMyLocationController is used instead of RawMyLocationController.
  • The PersonalDataCollectionConsent becomes the last parameter in the DGis.initialize method.
  • Changes for the new navigator: colors/size of traffic jams, route, maneuvers, new arrow model.
  • Support for SimpleMapObject placement on floors.

Release Date: April 19, 2022

  • Sending a new passedDistance field in navigator statistics events.
  • Faster addition of complex polygons to the map.
  • Fixed update of traffic jams on the route.
  • Caching of traffic events.
  • Fixed crash when the map crashes on Android 5.
  • Improved ETA update algorithm on route.
  • Handled change of network connection.
  • Fixed Channel operation - now values can't come after connection is closed.
  • The SearchQueryBuilder.setLocation and SuggestQueryBuilder.setLocation methods are marked as deprecated - the value is automatically taken from the geoposition source.

Release Date: April 4, 2022

  • Hybrid mode of operation.
    • Added ability to download data for map, guidebook and fare finder operation, which will be used in the future when there is no internet connection. The TerritoryManager is used to download data about territories and get information about them.
    • The map works in hybrid mode by default - it simultaneously uses the sources created through DGisSource.createOnlineDgisSource and DGisSource.createOfflineDgisSource. This can be changed by specifying when creating MapOptions.sources, for example, to use online only or offline only.
    • Hybrid directory search engine - SearchManager.createSmartManager (but there are also separate createOnlineManager and createOfflineManager).
    • The fare search (TrafficRouter) is always hybrid - it uses online/offline data depending on its availability.
    • With TerritoriesAlongRouteProvider you can get a list of areas the route passes through.
  • Display of floor plans.
    • Occurs automatically when the map approaches large buildings (shopping malls, airports, etc.).
    • To get information about the floor plans and switch them, serves `IndoorManager'.
    • There is a ready-made UI controller for floor management - IndoorControl.
    • Dynamic objects (SimpleMapObject) can be placed on a specific floor plan using the parameter levelId.
  • Display pop-up tooltips with a bar above the navigator's route.
    • Off by default. You can turn it on by setting RouteMapObjectDisplayFlag.LANES_BUBBLES in RouteMapObject.displayFlags, RouteMapSettings.onRouteDisplayFlags or RouteMapSettings.freeRoamDisplayFlags.
    • Cue positions on the route can be obtained with RouteMapObject.lanesCalloutPositions.
  • Information about events and traffic jams on the route in the navigator - Model.dynamicRouteInfo. To set its updating parameters, use NavigationManager.dynamicRouteInfoSettings.
  • To set the parameters of the route display in the navigator, use NavigationManager.routeMapSettings.
  • Automatic switch to Free Roam mode when leaving the route.
  • Added route search settings - NavigationManager.betterRouteProviderSettings.
  • Added fields with lane sign boundaries - RouteLaneSign.signStartPoint, signPoint, signEndPoint.
  • Added option "avoid stairs" on pedestrian routes - PedestrianRouteSearchOptions.avoidStairways.
  • Possibility to set timeout for HTTP requests - HttpOptions.timeout.
  • Fixed update of traffic jams on your route.
  • Free Roam data caching. You can configure the caching settings with NavigationManager.freeRoamSettings.
  • Traffic event caching.
  • Fixed crash on map crash on Android 5.

Map version:

  • The directory.DirectoryObjectId class has been renamed to DgisObjectId.
  • Instead of MapOptions.sources, now MapOptions.sources is a list of sources.
  • Removed serialize, deserialize functions for CameraPosition. Use PackedMapState (a new serialization mechanism) instead.

Full version:

  • Removed lists with route information in RouteInfo - cameras, instructions, laneSigns etc. and current element indices - Model.cameraIndexChannel, Model.instructionIndexChannel. Instead the information should be obtained directly from the route and the current position, for example, get the nearest camera - Model.route.route.cameras.findNearForward(position).
  • Renamed the route search parameters:
    • BicycleRouteSearchOptions.avoidUnderpasses -> avoidUnderpassesAndOverpasses.
    • CarRouteSearchOptions.avoidFerry -> avoidFerries.
    • TruckRouteSearchOptions actualWeight, maxPermissibleWeight -> actualMass, maxPermittedMass.
  • The enum RoadType.ROAD value is divided into subtypes RoadType.HIGHWAY, RoadType.FEDERAL_ROAD etc.
  • The method VoiceSelector.setVoice is replaced by the property voice.
  • Displaying floor plans.
    • There are new catalogs with layers: "Floor Plans", "Organization Plazas", "Floor Walls", "Organization Anchors", "Floor Sights", and "Floor Captions".
    • All layers in the "3D Houses" catalog as well as the "3D Models" layer have changed the data selection condition.
  • Requires the styles to be reloaded from the editor in order for the lane cues to appear.

Release Date: March 23, 2022

  • Event in statistics about navigator settings change during navigation.
  • Event in navigator statistics about leaving a route and returning to it.
  • Fixed Map.getRenderedObjects operation with transparent polygons.
  • Fixed update of traffic data in navigator UI model (RouteInfo.trafficRoute.traffic).
  • Corrected order of maneuver arrows overlapping in navigator.
  • Bicycle routes now follow the sidewalk instead of the roadway.
  • Handled null identifier in SearchManager.searchById, searchByDirectoryObjectId methods.
List of changes
"Ocean"
For the day and night theme, the font size is at [z2:9.15 ... z4:12.5].
The labeling indents for the text in the night theme changed from 10.1 to 20, now as in the day theme.

"Large Sea"
For the daytime and nighttime theme, the font size is [z3:9.15 ... z5:10.85]

"Small Sea and Large Lake"
For the daytime and nighttime theme, the font size is at [z3.5:9.5 ... z6:11.65].
The labeling indents for text in the daytime theme changed from 40.1 to 20, now as in the nighttime theme.

"Small Lake"
For the daytime and nighttime theme, the font size has been changed to 9.15.
text indents for the night theme, changed from 20 to 0, the same as for the day theme.

"2GIS Countries"
For daytime and nighttime themes, font size to [z2:10 ... z5:15].
For the daytime and nighttime theme, the indentation of the labeling has been changed to 5.

"Large Countries"
For the daytime and nighttime theme, the font size is changed to [z2:10 ... z5:15].

"Medium Countries"
For the day and night theme, the font size is changed to [z2:10 ... z4:12.5].
For the daytime and nighttime theme, the indentation of the labeling is changed to 10.

"Small Countries"
For the day and night theme, the font size has been changed to 10.85.
The indents for the day and night topics were changed to 5.

"Regions"
For the daytime and nighttime theme, the font size has been changed to [z6:10.85 ... z9:16.65].

"Mid-Cities"
For the daytime and nighttime theme, the font size is [z6:10 ... z9:13.75].

"Small Cities"
For day and night theme, the font size is [z6:9.15 ... z9:12.9].
For the night theme, the sublayer filter has been changed to "City_small", now as in the day theme.
For the night and day theme, the object_class filter has been changed to "universe_city".

"Regional Centers"
For the daytime and nighttime theme, the font size has been changed to [z4.5:9.15 ... z9:13.75].

"2GIS Small Cities"
For daytime and nighttime theme, the font size is at [z6:10 ... z9:13.75].

"Major Cities"
For the daytime and nighttime theme, the font size is [z5:10 ... z9:15].
For the day and night theme, changed the icon size to 5.85.
For the night theme the indentation of the labeling has been changed by 20.

"Middle Cities 2GIS"
For day and night themes, the font size has been changed to [z4:8.35 ... z9:15].
Icon size changed to 5.85 for daytime and nighttime theme.

"2GIS Major Cities"
For the day and night theme changed the icon size to 5.85.
For the day and night themes changed the font size to [z3:8.35 ... z9:15].
For day and night theme, changed the indentation of the labeling to 5.
For the night theme changed sample filters: sublayer = city_2gis_big, objectClass = universe_city_2gis, universe_city_2gis_rc, now as in the day theme.

"Small Capitals"
For the day and night themes changed the icon size to 7.5.
For day and night themes changed the font size to [z6:11.65 ... z11:18.35].
For day theme changed sampling filters, brought in line with night theme.
For the day and night themes changed the indentation of the labeling to 4.

"Capitals"
For the night theme, changed the sampling filters to match the day theme.
For the day and night themes changed the font sizes to [z3:9.15 ... z11:18.35].
For the daytime and nighttime theme changed the icon size to 7.5.

"2GIS Capitals"
For the daytime and nighttime theme, the font size has been changed to [z3:9.15 ... z11:18.35].
For the day and night theme changed the icon size to 7.5.
For day and night themes the indentation of the labeling has been changed to 4.

"Arteries"
For the night theme, the base for the width interpolation logarithm has been changed to 2, now as in the day theme.

"Walkways"
For the night theme, the width has been changed to [z16.5:1.1 ... z19:3], also the interpolation has been changed to linear, now as in the day theme.
For night and day theme, filter by db_sublayer changed, "Pedestrian_road_park_footpath", "Pedestrian_road_park_path" and "Pedestrian_street" added.

"Intra-block arrows"
For the day theme, changed the indentation from the edges of the line to place the arrows to 2, now as in the night theme.
For the night theme, changed the sublayer filter to Oneway_internal_road.

"Arrows Other"
For the day theme, changed the indent from the edges of the line to place arrows to 2, now as in the night theme.
For the night theme, the sublayer filter has been adjusted to match the day theme.

"Arrows of highways"
For the day theme, the indent from the edges of the line to place arrows has been changed to 2, now as in the night theme.

"Traffic jam backing", "Traffic jam fill level -3", "Traffic jam fill level -2", "Traffic jam fill level -1", "Traffic jam fill level 0", "Traffic jam fill level 1", "Traffic jam fill level 2", "Traffic jam fill level 3"
The line shift animation type was changed for the night theme, now it is linear like in the day theme.

"Water Transport"
For the night theme, the stroke length has been changed to [z14:2.3 ... z20:4.1], now as in the day theme.

"Tram Dotted"
For the night theme, the stroke length has been changed to [z15:8 ... z19:40.1], now as in the day theme.

"Entrances under houses"
For the night theme, the icon size has been changed to [z17:6 ... z18.5:11], now as in the day theme.

"Entrances above houses"
For the night theme, change the icon size to [z17:6 ... z18.5:11], now as in the day theme.

"Route line on subway backing", "Route line on subway outline"
In daytime theme s_dvg_public_pedestrianan_route_mobile removed from filters.

"Lookout", "Natural Monument", "Waterfall", "Helipad", "Beach", "Ski Area", "Information", "Garden", "Bridge", "Boat Station", "Skate Park", "Lifeguard", "Changing Room", "Water", "Rink", "Winter Equipment Rental", "Trees", "Attractions", "Ruins", "Paintball", "Stage", "Dance Floor", "Shower Booth", "Christmas Tree Bazaar", "Enclosure", "Homestead", "Crossing", "Monument", "Decorative Structure", "Gazebo", "Bookcrossing", "Graffiti", "Fountain", "Dog Walking Place", "Shooting Range", "Equipment Rental", "Playground", "Karting", "Toilet", "Sports Equipment"
For the day theme, the icon size has been changed to [z14:12 ... z16:14], now as in the night theme.

"Viewpoint", "Natural Monument", "Waterfall", "Park", "Beach"
Font size changed to 16.

"Park"
For the night theme, the icon size has been changed to [z14:18 ... z18:24], now as in the day theme.

"Water" (POI)
In the daytime theme, added "springs" to the filters in the objectClass.

"Shooting gallery"
In the night theme, replaced the icon with "poi_shootingrange", now as in the day theme.

"Sports equipment"
For the night and day theme changed the indentation of the labeling to 5.
For the day theme, the icon size has been changed to [z14:12 ... z16:14], now as in the night theme.

"Other captions"
For the night theme, the sublayer filter has been changed to "Other_caption_point", now as in the day theme.
For night theme changed minimum zoom to 15, now as in day theme.

"Other captions along the line"
For the night and day theme, changed the indentation from the edges of the line to place the caption to 5.
For the night and day theme, changed the distance between caption duplicates along the line to 1000.
For the night and day theme, changed the additional indentation of the labeling along the edges by 5.
For the night and day theme, the font size has been changed to [z15.5:10 ... z18:14].

"Special captions along the line"
For the daytime theme, the Noto_Sans font is explicitly specified, now as in the nighttime theme.
For the night and day theme, the indentation from the edges of the line to place the caption has been changed to 0.
For the night and day theme, the additional indentation of the labeling on the edges has been changed to 8.
For the night theme, changed the distance between duplicate lettering along the line to 200, as in the day theme.

"River Captions"
For the night theme, changed the indentation from the edges of the line to place the caption to 0, now as in the day theme.
For night and day theme, textDuplicationSpacing changed to [z12:500 ... z18:1000].

"House numbers"
For the night theme, the minimum zoom has been changed to 15.3, now as in the day theme.

"ATM"
For night theme changed filter for sublayer, now "Low_zoom_poi_navigator", like in day theme.

"Clothing Shop", "Beauty Shop", "Coffee Shop", "Go-Karting", "Fitness Club", "Bar", "Chapel", "Aviation Club", "Car Service", "Shoe Shop"
For the night theme, the sublayer filter has been changed to "Low_zoom_poi", as in the day theme.

"Kindergarten", "Ticket Office", "Tennis Club", "Swimming Pool", "Rink", "Post Office", "Education", "Library", "Church", "Synagogue", "Datsan", "Mosque", "Medical Facility", "Sanatorium", "Hotel"
For the night theme, the sublayer filter has been changed, now "Medium_zoom_poi", as in the day theme.

"Mall," "Administration," "Pharmacy," "Police"
For the night theme, the sublayer filter has been changed to "Medium_zoom_poi_navigator" as in the day theme.
For night and day theme changed icon size to [z14:18 ... z18:24].

"Theater," "Cinema," "Golf Club," "Hippodrome," "Stadium," "Business Center"
For the night theme, changed the sublayer filter, now "High_zoom_poi", as in the day theme.

"Shopping Mall," "Gas Station," "Charging Station"
For the night theme, the sublayer filter has been changed to "High_zoom_poi_navigator" as in the day theme.

"Airport"
in directory "POI icons" for night theme changed fonts size to [z14.5:10.1 ... z18:12], now as in day theme.
In the "Transport sights" directory for the night and day theme changed the minimum zoom to 7.5.

"Railway station"
in directory "POI icons" for night theme changed fonts size to [z14.5:10.1 ... z18:12], now as in day theme.
In the "Transport Sights" catalog for the daytime theme changed to a minimum zoom of 7.5.

"Bus Station"
Changed filter object_class in "POI icons" catalog for the night theme, now "bus_station", like in the day theme.
In the "Transport sights" catalog, the minimum zoom has been changed to 11 for the night and day theme.

"Port"
in directory "POI icons" for night theme changed the size of icons to [z14:18 ... z18:24], now as in the day theme.
In the catalog "Transport sights" for the night and day theme changed the minimum zoom to 11.

"Railroad stations dot"
For the daytime theme, the icon size has been changed to 6, now as in the nighttime theme.

"Chairlift"
For the night theme, the icon has been changed to "chairlift", now as in the day theme.

"Surface lift"
For the night theme, the icon has been changed to "bugel", now as in the day theme.

"Dark green" from the "Subway station icons" catalog
Icons width was changed to 12 for the night theme.

"MCD 1", "MCD 2" from the "Subway icons" catalog
For the night theme minimal zoom is changed to 12, now as in the daytime theme.

"MCSD 1", "MCSD 2" from the "Subway icons" catalog
For the day theme, the width of the subway icons has been replaced by 22, now as in the night theme.

"Turquoise", "Blue", "Yellow", "Green", "Brown", "Red", "Orange", "Gray", "Blue", "Dark Green", "Purple", "Gray-Blue", "MCC", "Pink" from the "Subway Icons" catalog
Icons width was changed to 15 for Daytime theme.

"Icons of subway exits" from the "Icons of subway exits" catalog
For the night and day theme, the icon width has been changed to 15.

"City captions with dots"
For night and day theme replaced by [z6:11.5 ... z15:20] font size.
For the night and day theme, the indentation of the labeling has been replaced by 16.

"Main City Caption"
for the night theme the font size has been changed to [z0:10.1 ... z11:22 ... z11.9:22 ... z12:24], now as in the day theme.
for the night theme changed the indentation of the labeling to 30, now as in the day theme.

"Camera of unknown destination", "Speed camera" and others in the "Traffic events on the route" and "Traffic events on the route in the maintenance mode" directories
For the night theme, the priority of text and priority of icons for labeling have been changed to 160, now as in the day theme.

"Camera of Unknown Destination"
In the "Traffic events on route" directory, the text and icons priority for labeling have been changed to 160 for the daytime theme.

"Speed camera_80"
In the "Traffic events on the route" catalog for the daytime theme, the sublayer filter has been changed to "s_dvg_route_camera_80", now as in the night theme.

"Speed camera" from the catalog "Traffic events on the route in the maintenance mode"
The icon size for the night theme has been changed to 28, now it is the same as in the day theme.
For the night theme, the condition for navigatorOn in the filter is now the same as for the day theme.

"Speed camera_100"
In the "Traffic events on route in maintenance mode" folder of the daytime theme changed the icon's anchor point to [0.4, 1], now it is the same as in the night theme.

Changed the order of drawing traffic jams. Traffic jams are drawn before houses.

In the night theme, the "Active underground pedestrian route line" layer (there are two of them) is renamed to "Active underground pedestrian route line".

In the night theme, the "Active underground pedestrian route line copy" layer has been renamed to "Active pedestrian route line".

In the night theme, the "Other line captions" layer has been renamed to "Other captions along the line".

In the night theme, the "Special Line Captions" layer has been renamed to "Special Line Captions".

The "Industrial areaa" layer in the night theme was renamed to "Industrial area".

In the night theme the "Beginning and end of toll roads" layer was renamed to "Beginning and end of toll roads".

Added "Bus Station" layer in Daytime and Nighttime themes.

Layer "Shoe store" and "Cinema" in the daytime theme have changed the data sampling filter.

The icon priority was changed to 160 for the "Speed camera" layer in the "Traffic events on route" directory in the daytime theme.

Icon priority for the "Speed camera of unknown destination" layer in the "Traffic events on route in maintenance mode" catalog in the daytime theme was changed to 160.

The icon size of the layer "Graffiti" in the night theme has been changed to z14:12 . z16:14.

All layers in the directory "POI icons" in the night theme now have an icon size of z14:18 ... z18:24.

The "Airport", "Railway station", "Bus station", "Port" layers in "POI icons" folder in night theme have rgba(255,255,255,0.5) stroke color now.

The "Inactive auto route line" and "Inactive auto route line carpet pad" layers are now separated into a separate "Inactive auto route line" catalog.

The "Speed camera" layer in the "Traffic events on route in maintenance mode" directory has been changed to icon priority 160.

The maximum scale in the editor is a strict boundary. Since in Mobile SDK you can set z 20, and at some latitudes it corresponds to style z 20, objects with a maximum scale of 20 can in this situation hide. Because of that, you can now set the maximum scale more than 20 in the editor, and in the style templates for Mobile SDK all such layers are set to maximum scale 21.

In night theme all layers in directory "POI icons" color of stroke was changed to rgba(0,0,0,0.19).

Release Date: March 16, 2022

  • Disabled accessibility in copyright control.

Release Date: March 11, 2022

  • Fixed update of traffic jams along the route.
  • Fixed bug when sending fare finder statistics.

Release Date: March 4, 2022

  • Added warnings and errors to the log in case support for a particular MobileSDK version expires or has expired.
  • Supported CarRouteSearchOptions.avoidFerry filter to prohibit ferrying.
  • When sending statistics, events are handled:
    • Completion of alternative routes request
    • Change of the index of the next intermediate route point
    • Updates of dynamic route information
  • Fixed a crash that could occur when destroying a map object.
  • Fixed a bug where routes on public transportation had an invalid car boarding description when no car information was available.
  • Calling Camera.setPadding and Camera.setPositionPoint with the CameraPositionPointChangeBehaviour.KEEP_CAMERA parameter now resets position tracking.
  • Fixed an issue with rendering some regions.
  • Fixed a bug when sending statistics related to generating an event after reaching an endpoint.
  • Now if you sent a request to find a new route, but returned to the current route before receiving it, it sends requests for a better route.
  • The TrafficRouter.findRoute method now returns an empty list instead of throwing an exception if no routes are found.

Release Date: February 25, 2022

  • Fixed a crash that could occur when destroying a map object.

Release Date: February 21, 2022

  • Fixed sending of stats about navigation start.

Release Date: February 10, 2022

  • Smooth flight when geoposition tracking is activated - CameraBehaviour.transitionType (by default, TransitionType.SMOOTH is enabled).
  • Ability to set settings that are not available through API (e.g. URLs of web services) - parameter vendorConfig in DGis.initialize - JSON file with settings. The settings set is currently undocumented.
  • Automatic switch to the better route if the user continued on the route.
  • Sending statistics on fare search and navigation performance.
  • Text description of cars recommended for boarding - PublicTransportInfo.boardingSuggest. For example, "board the first carriage".
  • Displaying cars recommended for boarding in the route card (PublicTransportCard).
  • Information about the schedule of a traffic event - RoadEvent.schedule.
  • Display traffic event schedule in the event card (RoadEventCard).
  • Auxiliary methods GeoPoint.isValid, GeoRect.isValid, GeoRect.contains, GeoRect.intersects, GeoRect.expand.
  • Get bounding rectangle of geometry - Geometry.bounds, GeometryMapObject.bounds, SimpleMapObject.bounds.
  • Ability to get current navigator's voice - VoiceSelector.voice.
  • Optimization of displaying traffic jams on the map.
  • Optimization of route adding to the map.
  • Sound volume setting (SoundNotificationSettings.notificationVolume) now only affects navigator, not system volume.
  • Fixed route detection better after leaving a route and going back.
  • Fixed compass jitter.
  • Removed erroneous notification about bad GPS signal when starting navigation simulation (NavigationManager.startSimulation).
  • Fixed bug in log when setting MapView.setTouchEventsObserver during gesture.
  • The accuracy parameter in MagneticChangeListener.onValueChanged is now of type float and means the standard deviation of the angle.

Release Date: January 24, 2022

  • Added camera position logging, if incorrect position value is passed to Camera.move, Camera.position and MapOptions.position methods.

Release Date: January 10, 2022

  • Fixed crashes in MagneticHeadingProvider related to the system SIGABRT signal.
  • Fixed an issue where tiles would not load when AdGuard VPN was enabled.
  • Fixed crashes when reading network status.
  • Fixed logging bugs where map object is destroyed immediately after creation.
  • Fixed crashes in network cache.
  • Added request logging for network errors.
  • Fixed errors in logs when processing map tiles.
  • Fixed rare crashes during map creation in different threads.
  • Fixed errors in logs when adding marker to the map.

Release Date: December 29, 2021

  • Save and restore route and navigator state - PackedNavigationState, TrafficRoute.fromNavigationState.
  • Added property PublicTransportTransfer.startPointName - name of the start point of the route section.
  • Displaying numbers and colors of subway lines in the public transport card (PublicTransportCard).
  • Fixed crash when changing map zoom settings in navigator (NavigationManager.zoomFollowSettings).
  • Fixed PublicTransportInfo.color for transport types other than metro.
  • Fixed text color in SpeedInfoControl in a dark theme.
  • Traffic data update period is limited to 30 seconds from the bottom.
  • The PublicTransportTransfer.waypointName property has been renamed to finishPointName.
  • Changes to find public transportation fare.

    • In the Walking Line directory, added layers "Inactive Underground Walking Line" (two layers with the same name), "Inactive Walking Line", "Active Underground Walking Line" (two layers), "Active Walking Line", removed layers "Underground Walking Line" (two layers) and "Walking Line".
    • The Underground Walking Route Line, Inactive Underground Walking Route Line, Inactive Walking Route Line, Active Underground Walking Route Line, Active Walking Route Line layers were added, and the Underground Walking Route Line and Walking Route Line layers were deleted in the Maintained Walking Line catalog.
    • Renamed the Maneuver Arrows Shallow Scale in Maintain Mode layer to Maneuver Arrows Shallow Scale in Maintain Mode.
    • Added directory with layers "Route line on public transport".
  • The "Traffic", "Walking route line", "Walking route line in guided mode", and "Walking route line in auto" catalogs have been moved higher to keep the models and buildings from covering the routes. They are now above the 3D Model layer.

  • Arrow display has been corrected - for the Other Arrows, Highway Arrows layers, the object selection condition has been changed (select JSON to see the current condition and compare it with the condition in your styles).

  • For the layer "Yellow Line Subway Drop-off Stop in active state" leibeling has been disabled (in templates through adding new leibeling group, but it's easier to turn on the checkbox "Keep visible when overlaying on other objects").

  • The "Generalized Marker" layer has had the "search_marker_icon" labeling group added, so that it is not hidden by other objects.

  • Changed daytime and nighttime theme inconsistencies.

    • In the daytime theme:
      • Removed font at "Lookout," "Natural Monument," "Waterfall," "Park," and "Beach" layers.
      • Minzoom was changed from 18 to 17 for "Playground" and "Sports equipment" layers.
      • Layer "Garden", "Ski Center" minzoom changed from 12 to 14.
      • The "Streetcar Dotted" layer has been changed from 16.5 to 15.5 minzoom to correspond to the "Streetcar" layer.
      • The text display has been changed from 17 to 16 zoom on the "Speed Camera_100" layer.
    • In the night theme:
      • The "Rail/D Line" layer has had its maxzoom changed from 13.5 to 13 to match the "Rail/Dash Dot" layer.
      • The "Stairs" and "Zebra" layers have had their minzoom changed from 16.5 to 16.
      • All "Flat Houses" layers have been changed from 20 to 16 to avoid displaying them simultaneously with 3D houses.
      • The "Gardens" and "Schools" layers in the "Flat Houses" catalog have changed their minzoom from 15 to 14.
  • The minzoom of the "Parking Area" layer was changed from 17.5 to 17. - Minzoom for the "Large 2GIS Cities" layer is changed from 4 to 3. - Minzoom has been changed from 6 to 4 for the "Medium 2GIS Cities" layer. - Minor cities" layer has minzoom changed from 7 to 6. - For the "Large Countries" and "2GIS Countries" layers, maxzoom was changed from 8 to 6. - The zoom value in the interpolate line width of the "Maneuver Arrows fine scale in guide mode" layer was changed from 19 to 20. - The search_marker_icon and search_marker_text labeling groups were added, and these groups are specified in the "Search Marker" layer. - The "selection_marker" and "selection_marker_text" labeling groups are specified in the "selection search marker" layer.

    • Some theme inconsistencies occurred because of the use of a range from the data. To prevent this from happening in the future, all scales in templates are now specified explicitly.

Release Date: December 24, 2021

  • Added crosswalk and bike routes, as well as routes on public transportation.
  • Added ability to disable route completion and GPS signal loss instructions.
  • Two fields appeared in the Location structure - the name of the geopositioning source source and the time point at which the geoposition was defined, timestamp.
  • Class PackedMapState for serialization and deserialization of the map state. The old serialize(cameraPosition:) and deserialize(positionString:) methods are marked as deprecated.
  • Class PackedSearchQuery for serializing and deserializing a search query.
  • Added mapToScreen(geoPointWithElevation:) method to the Projection structure.
  • Implemented a control for displaying routes on public transport.
  • We have implemented sending statistics for the navigator.
  • Fixed error when navigating from FreeRoam mode to navigation mode, and the instruction about re-route was played.
  • Fixed disappearance of intermediate points when re-routing a route.
  • Added 30 seconds timer for sounding instructions on rerouting.
  • Fixed working with traffic events for anonymous users.
  • Removed the speed controller display for pedestrian and bicycle routes.
  • Removed notification about bad GPS signal when starting navigation simulation.
  • Fixed issue where map tiles would not load if AdGuard VPN was enabled.
  • Optimized the display of traffic jams on the map.
  • Fixed crash when getting network info.
  • Fixed crash in MagneticHeadingProvider.

Release Date: December 8, 2021

  • Fixed crashes related to SIGABRT system signal.

Release Date: December 2, 2021

  • Added the SearchResultType field to SearchResult.
  • In the SearchQueryBuilder it is now possible to set filtering via SearchQueryBuilder.setDirectoryFilter(directoryFilter) and sorting via SearchQueryBuilder.setSortingType(sortingType). Currently, filtering by open time (open now and open at a specific time) and sorting by relevance, by rating and by distance from the user's current location are implemented.
  • In SearchQueryBuilder it became possible to set the current position of the user for the search query via SearchQueryBuilder.setLocation(locationPoint).
  • Added Bearing(point), distance(point) and move(bearing, meter) methods to GeoPoint and GeoPointWithElevation classes.
  • Added field RouteDistance.kilometers.
  • Added function TimePoint.now().
  • Fixed the display of cameras on the route. Cameras that are closer to the start of the route are now always displayed at a higher priority than cameras that are further away.
  • Fixed a crash when running MyLocationController.
  • Fixed a bug where cameras in free roam mode were sometimes displayed without taking into account the miscalculation 2 km ahead in the direction of travel.
  • Changed signature of methods NavigationManager.start and NavigationManager.startSimulation. They now take RouteBuildOptions together with the route.
  • The method Geometry.hasIntersection is renamed to Geometry.intersects.
  • In ParkingPurpose the state TRUCK was removed. Instead, the ParkingInfo.forTruck flag was added.
  • The function toMapGeometry(route: TrafficRoute) was replaced by the function toMapGeometry(geometry: GeoPointRouteAttribute).
  • Removed the BetterRouteInfo.duration field. Added BetterRouteInfo.trafficRoute and BetterRouteInfo.startPoint instead.
  • Structures DayTime, WeekDay, WeekTime and WeekTimeInterval moved from ru.dgis.sdk.road_events to ru.dgis.sdk.
  • Added classes Route and Traffic. The TrafficRoute has only route and traffic properties instead of the previous set of properties through which you can get full information about the route.
  • Removed BicycleRouteSearchOptions and PedestrianRouteSearchOptions - transferred to future releases.
  • Renamed RouteParams to RouteEditorRouteParams.

Migration from v1.x.

  • Instead of Arcdegree, which was used to set camera rotation, latitude, longitude, now separate types - Bearing, Latitude, Longitude.
  • Changed API for working with traffic jams: Renamed TrafficScore in TrafficScoreProvider, TrafficScoreValue in TrafficScore, TrafficManager was removed - TrafficScoreProvider is created through the constructor.
  • Method LocaleManager.setOverridedLocales is renamed to overrideLocales.
  • Class ScreenSize moved from ru.dgis.map to ru.dgis.common.
  • Instead of properties HttpOptions.userSslCerts, HttpOptions.disableSystemSslCerts now property HttpOptions.certificates which allows to set list of certificates.
  • Fixes and changes to custom camera controllers API - now there can be only one controller, added/removed by Camera.setCustomFollowController / Camera.removeCustomFollowController methods.
  • In the Styles Editor, on the Dynamic Objects tab, the s_dvg_accuracy_circle object should use a sublayer (if there are 2 more, that's fine, they were left for compatibility with the first version).
  • The layers Speed camera in directories Transport events layer, Transport events layer, `Transport events en route en route en route en route en route en route en route en route en route en route en route en route en route en route en route en route en route en route en route en route en scale changed to 13-14.
  • Added layer Parking area auto-generated for parking mode.
  • Removed layer Parkings.
  • Added layers Parking spaces with unknown price, Parking spaces for disabled people, Resident parking spaces, Taxi parking spaces, Parking spaces for free.
  • There are new layers in the catalogs Transport events on route in maintenance mode and Transport events on route. Add them to your styles to continue to display cameras on the route, and there are new events.
  • Added catalogs with layers Transport events layer in guidance mode' and Transport events layer' for the new traffic events layer.
  • A catalog of layers Parking bubbles was added, as well as layers Parking no-go zone for parking enabled layer and Parking area for parking mode. These data are displayed only when the map has the attribute parkingOn set to true.
  • The Parking Area layer is now displayed when the parkingOn attribute of the map is absent or set to false.

Release Date: November 25, 2021

  • Creating a map with size 0x0 is now valid.
  • Fixed crash when running MyLocationController.

Release Date: November 18, 2021

  • Added collecting and sending traffic jam data while navigating. Enabled by default, can be turned off with TrafficCollector.trafficCollectingAllowed.
  • Parking data in the directory - DirectoryObject.parkingInfo.
  • Data about reviews in the directory - DirectoryObject.reviews.
  • Data about the work status in the directory - DirectoryObject.workStatus.
  • Events in the statistics about creating and deleting map sources.
  • Freeze on poor network connection.
  • Traffic events display in navigator.
  • Removed navigation start delay.
  • Incorrect Model.state value when switching from free-roam to route mode.
  • Incorrect macroGraph update status - RoadMacroGraph.info.updateStatus.
  • Behavior in case of changing map size during flight.
  • Behavior of Camera.padding when map size is small.
  • The LocaleManager.setOverridedLocales method is renamed to overrideLocales.
  • Requires styles to be reloaded from the editor. Fixes the display of railroads, and also fixes a crash in one of the scenarios.

Release Date: November 15, 2021

  • Fixed freezing on bad network connection.
  • Fixed crash in loading map tiles.
  • Circle(Circle) was flickering when moving.
  • Requires styles to be reloaded from the editor. Fixes the display of railroads, and also fixes a crash in one of the scenarios.

Release Date: November 10, 2021

  • Added captions to traffic event markers.
  • Ability to enable/disable voicing of instructions, obstacles and road subtype - SoundCategory.INSTRUCTIONS, SoundCategory.OBSTACLES, SoundCategory.ROAD_SUBTYPES.
  • Send statistics about parameters of used cards - size, DPI, etc.
  • Fixed voice road events that didn't have a lane specified.
  • Not allowing the map to be zoomed by double tapping when zooming is disabled in settings.
  • Fixed flickering while moving for the circle(Circle).
  • Removed the voiceover of speed bumps (it did not work before either - no such sounds, there was a blank instead).

Release Date: October 29, 2021

  • Getting photos of road events - RoadEvent.photos.
  • Displaying a photo in the road event RoadEventCard.
  • Ability to create road events - RoadEventManager with methods createAccident, createCamera etc.
  • Possibility to create a traffic event - AddRoadEventCard.
  • Ability to delete a road event - RoadEvent.remover.
  • Ability to perform actions with road events (confirm, deny, like, etc.) - RoadEvent.availableActions.
  • Improved description of road events-cameras.
  • Corrected the display of icons of two-sided overlaps - previously it was displayed only on one side.
  • Ability to set the map size for functions to calculate camera positions - calcPosition and zoomOutToFit parameter.
  • Route settings RouteMapObjectSource.routeSourceSettings, NavigationManager.routeSourceSettings, with which you can set parameters of maneuver arrows display.
  • Alouding of re-building the route in the navigator.
  • Fixed grouped cameras dubbing - only priority cameras are dubbed.
  • Voice volume setting in navigator - NavigationManager.soundNotificationSettings.notificationVolume.
  • Inactive state of navigator UI when GPS is absent.
  • Fixed bug in sending statistics when there were few events MapSource with type 2gis.online.
  • Fixed crash when using LogSink.
  • Fixed potential crashes in handling network requests.
  • Detailed logging of network request information at LogLevel.VERBOSE level.
  • The ScreenSize class was moved from ru.dgis.map to ru.dgis.common.

Release Date: October 29, 2021

  • Fixed crash when using LogSink.

Release Date: October 29, 2021

  • Fixed potential crashes in network request handling.

Release Date: October 26, 2021

  • Fixed a bug in sending statistics with few MapSource events of the 2gis.online type.
  • Fixed crash when MyLocationController is running.

Release Date: October 21, 2021

  • Fixed an error when downloading territories.
  • Added the ability to process a click on a traffic event on a route.
  • Supported rendering cameras in FreeRoam mode when using offline road graph source.
  • Fixed a bug where cameras were not displayed when you first build a route.
  • Fixed crash when MyLocationController is running.
  • Fixed errors in the display of traffic events.
  • Fixed a bug where intersection control camera icons were not displayed.
  • Added ability to disable voice by type via NavigationManager.soundNotificationSettings.enabledSoundCategories.

Release Date: October 14, 2021

  • Corrections to the road event source (RoadEventSource).
  • Attribute dgis_renderMode by MapView to set MapOptions.renderMode.
  • Fixed suggestion work for some queries.
  • Re-search of a route in the navigator if the previous attempt was unsuccessful.
  • Ability to get current geo-position from navigator's model, with which navigator works - Model.location.
  • Correction in voicing of cameras in navigator - now distance to camera is reported, not to the beginning of its action.
  • Additional description of road type - RouteInfo.roadSubtypes.
  • Added default values for TruckRouteSearchOptions TruckRouteSearchOptions.
  • Setting proxy for network requests - HttpOptions.proxy.
  • Fixes and changes to custom camera controllers API - now there can be only one controller, added/removed by Camera.setCustomFollowController / Camera.removeCustomFollowController methods.
  • The NavigationView does not create a geoposition marker on the map (MyLocationMapObjectSource), this has to be done in custom code. To move the navigator marker into the source creation, you need to add a position controller, for example via createSmoothMyLocationController().
  • Model.routeInfo renamed to Model.route, Model.currentRoutePosition to Model.routePosition, instead of Model.badLocation now the opposite Model.locationAvailable, instead of Model.currentSpeedChannel now Model.locationChannel.groundSpeed.
  • The "Speed Camera" layers have changed the display scale to 13-14 in the "Transport Events Layer in Maintain Mode", "Transport Events Layer", "Transport Events on Route in Maintain Mode", and "Transport Events on Route" catalogs.
  • The "Parking area" and "Parking area for parking mode" layers have been given a color for the selected state.
  • Auto generated parking area for parking mode" layer was added.
  • The layers in the "Parking Bubbles" catalog have the icon priority raised to 1, so that they displace the regular parking icons.
  • Removed the "Parking Bubbles" layer.
  • Added layers "Parking lots with unknown price", "Handicapped parking lots", "Resident parking lots", "Taxi parking lots", and "Free parking lots".

Release Date: October 7, 2021

  • Displaying of traffic events on the map (not tied to a specific route) - RoadEventSource, RoadEvent, RoadEventCard.
  • Possibility to set a custom camera tracking controller - CustomFollowController.
  • Fixed regression: dragging markers without text did not work.
  • Displayed the beginning and end of toll roads on the map.
  • Support for inter-regional offline fare search.
  • Support for cab as a separate type of transport - TaxiRouteSearchOptions.
  • Support of passes for trucks - TruckRouteSearchOptions.passId, TrafficRoute.truckPassZoneIds.
  • Fixed extra maneuver sounding in navigator.
  • Voice announcement of crashes and roadworks in navigator.
  • Voice announcement about via points in navigator.
  • Correction in the navigator when navigator has zero speed.
  • Displaying of the next maneuver and exit number in the navigator's UI.
  • Ability to customize the colors of the navigator's standard UI. For this purpose, you will need to define a theme for NavigationView inherited from "DGisTheme.Navigation".
  • The route information - RoadTypeInfo, TransportTypeInfo, RoadSurfaceInfo, SpeedLimitInfo, RoadNameInfo, TollInfo - is now located in RouteInfo as lists, the current value can be obtained from them by accessing the corresponding index in navigation. Model - Model.roadTypeIndex, Model.transportTypeIndex etc.
  • Changes in map styles:
    • Change affecting backward compatibility There are new layers in the "Route Traffic Events in Maintain Mode" and "Route Traffic Events" directories. Add them to your styles so that the cameras on the route continue to be displayed, and new events have appeared.
    • Added catalogs with layers "Transport Events Layer in Maintain Mode" and "Transport Events Layer" for the new traffic events layer.
    • Added "Parking Bubbles" layer catalog, as well as "No Parking Zone for Enabled Parking Layer" and "Parking Area for Parking Mode" layers. These data are displayed only when the map has the parkingOn attribute set to true.
    • The "Parking area" layer. is now displayed when the map has no parkingOn attribute or is set to false.

Release Date: September 28, 2021

  • Fixed bug with low map performance at large scale.
  • Fixed race in RouteMapObject, which could cause it to display incorrectly.
  • Added mapping and voicing of new camera types on the map.
  • Added Camera.size property - view area size in pixels.
  • Changes in navigator's API:
    • Renamed Model.maneuverInstructionIndex property to instructionIndex.
    • RoadRule moved from dgis.sdk.navigation to dgis.sdk.routing.
    • For information about navigator instructions, RouteInfo.instructions is used, the maneuver name from which can be obtained using the getInstructionManeuver function.
  • Fixed tracking of geoposition when using navigator with several maps at the same time.
  • Removed unnecessary transition of Model into State.DISABLED state when re-searching a route.
  • Change affecting backward compatibility Instead of properties HttpOptions.userSslCerts, HttpOptions.disableSystemSslCerts now property HttpOptions.certificates, allowing to set list of certificates.

Release Date: September 23, 2021

  • Fixed problems that occurred after refinement of moving tokens without text - static tokens without text worked slowly and transparency was not set for tokens without text.
  • Updated the size of the 2GIS logo on the map.
  • Fixed an issue where when setting the tilt angle when creating a map, the tilt angle would reset when any map changes were made.

Release Date: September 23, 2021

  • Fixed issues that occurred after updating marker movement without text - static markers without text worked slowly and the transparency was not set for markers without text.
  • Updated the size of the 2GIS logo on the map.
  • Fixed the issue when setting the tilt angle when creating a map, the tilt angle was reset on any map changes.

Release Date: September 21, 2021

  • Significantly accelerated the movement of markers without text.
    Important: it is necessary to re-export the style from the style editor, otherwise the markers will not be displayed.
  • Changed the logic of clustering - the cluster center is now the center of mass of the sub-clusters of the previous level.
  • Fixed an error where in the clustering mode, when removing a marker, nearby closely located markers were also deleted.
  • Fixed the functionality of SuggestQueryBuilder.setSuggestorType - previously, this option did not affect the result.

Release Date: September 21, 2021

  • Significantly accelerated the movement of markers without text.
    Important: it is necessary to re-export the style from the style editor, otherwise the markers will not be displayed.
  • Changed the logic of clustering - the cluster center is now the center of mass of the sub-clusters of the previous level.
  • Fixed an error where in the clustering mode, when removing a marker, nearby closely located markers were also deleted.
  • Added the compass control - CompassControl.
  • Added control allowing to manage the map padding from the layout - MapPaddingControl.
  • Fixed the functionality of SuggestQueryBuilder.setSuggestorType - previously this option did not affect the result.
  • Added properties TrafficRoute.startPoint, TrafficRoute.finishPoint - the starting and finishing points of the route.
  • Added settings for controlling zooming in the navigator - NavigationManager.zoomFollowSettings.
  • Added settings for updating traffic data in the navigator - NavigationManager.trafficSettings.
  • Change affecting backward compatibility NavigationView no longer creates a NavigationManager, it must be set from the outside through the navigationManager property.
  • Navigator UI is localized in Russian and English.
  • Added map control elements to the navigator UI.
  • Added notification to the UI about the navigator's state - re-search, no GPS signal.
  • New design of navigation controls in Free Roam mode.
  • Switching between arrival time and time to arrival in RemainingRouteInfoControl.
  • BetterRoutePromptControl when not interacted with switches to collapsed state.

Migration from v1.x

  • Instead of Arcdegree, which was used to set the camera rotation, latitude, longitude, now there are separate types - Bearing, Latitude, Longitude.
  • The API for working with traffic has changed: TrafficScore has been renamed to TrafficScoreProvider, TrafficScoreValue to TrafficScore, TrafficManager removed - TrafficScoreProvider is created through the constructor.
  • Basic styles have changed. In the style editor on the Dynamic Objects tab, the Accuracy radius of the geoposition object should use the s_dvg_accuracy_circle sublayer (if there are also 2, it's okay, they are left for compatibility with the first version).

Release Date: September 7, 2021

  • Fixed a problem with changing the marker icon through Marker.icon, when a blank icon was displayed before the new loaded image appeared. Now the old icon is displayed until the new one is loaded.
  • Reworked the rendering of road overlaps over traffic.

Release Date: September 3, 2021

  • The navigator automatically changes the zoom level of the map depending on the speed (without the ability to configure it for now).
  • Fixed the display of traffic on the map at maximum zoom levels.
  • Fixed a problem with changing the marker icon through Marker.icon, when a blank icon was displayed before the new loaded image appeared. Now the old icon is displayed until the new one is loaded.
  • Reworked the calculation of the camera coverage zone on the route.
  • An error has been fixed where tracking of the position is not turned on immediately when starting navigation.
  • Basic UI controls in the navigator now support different navigator modes such as RouteSearch, Finished, Disabled.
  • Reworked the rendering of road overlaps over traffic.
  • Change affecting backward compatibility. The RouteSearchOptions class has been replaced with a variant that can contain one of the specific classes - CarRouteSearchOptions, PedestrianRouteSearchOptions, BicycleRouteSearchOptions, PublicTransportRouteSearchOptions, or TruckRouteSearchOptions.
  • Change affecting backward compatibility. The RoutingType enum has been removed. Instead, use the RouteSearchOptions.
  • Change affecting backward compatibility. The distanceCountersChannel was removed from the NavigationManager.uiModel class. Instead, use currentRoutePositionChannel to calculate the remaining distance to the nearest maneuver or to the end of the route. The DistanceCounters and HumpPoint classes have been removed. The new IntermediatePoint class describes an intermediate point on the route. The current position on the route is described by the new RoutePosition class.
  • Change affecting backward compatibility. The TrafficManager class has been removed. The TrafficScore class has been renamed to TrafficScoreProvider and is now the primary class for working with traffic. The TrafficScoreValue class has been renamed to TrafficScore.
  • Change affecting backward compatibility. Basic styles have changed. In the style editor on the Dynamic Objects tab, the Accuracy radius of the geoposition object should use the s_dvg_accuracy_circle sublayer (if there are also 2, it's okay, they are left for compatibility with the first version).

Release Date: August 26, 2021

  • Fixed an issue where MapObjectManager.removeObject would not work if attributes of the object being removed were changed in parallel.
  • Improved the clustering generated through MapObjectManager.withClustering. Now when deleting markers from MapObjectManager, the cluster position is corrected if the cluster-forming marker was deleted.
  • The CameraPositionPoint is now taken into account when calculating the CameraPosition with the calcPosition function.
  • Change affecting backward compatibility. The display of the current location marker has been improved - now the icon with the direction can always be drawn, regardless of the navigation mode. If you use custom styles, in the style editor you need to correct the dynamic objects of the current location as follows:
    1. At Marker on auto and Marker on auto, outdated position in the item Visibility put the toggle switch Navigator mode and select the item On.
    2. At Directional marker, Directional marker and Directional marker, obsolete position in the item Visibility set the switch Navigator mode and select the item Off.
  • Control about the passage of the zone of the camera - CameraControl.
  • Fixed hang-up in TrafficSource.
  • Fixes in the attraction to the route in Free Roam mode.
  • Fixed crash when creating a large number of markers with set userData.

Release Date: August 25, 2021

  • Corrected ProGuard config for correct build.

Release Date: August 24, 2021

  • Fixed an issue where MapObjectManager.removeObject would not work if attributes of the object being removed were changed in parallel.
  • Improved the clustering generated through MapObjectManager.withClustering. Now when deleting markers from MapObjectManager, the cluster position is corrected if the cluster-forming marker was deleted.
  • The CameraPositionPoint is now taken into account when calculating the CameraPosition with the calcPosition function.
  • Change affecting backward compatibility. The display of the current location marker has been improved - now the icon with the direction can always be drawn, regardless of the navigation mode. If you use custom styles, in the style editor you need to correct the dynamic objects of the current location as follows:
    1. At Marker on auto and Marker on auto, outdated position in the item Visibility put the toggle switch Navigator mode and select the item On.
    2. At Marker with direction, Marker without direction and Marker without direction, obsolete position in item Visibility toggle switch Navigator mode and select item Off.

Release Date: August 17, 2021

  • Fixed crash in NetworkConnectionManager.

Release Date: August 13, 2021

  • Added the ability to customize the pedestrian voice of the route when navigating.
  • Added a channel navigationActiveChannel in NavigationManager.uiModel, which returns two states - active and inactive. The second state is set when the user has finished driving the car and the navigator can be turned off.
  • Fixed crash when changing marker position and re-initializing MapObjectManager in parallel.
  • Fixed a bug where clustering would stop working for small zoom levels (0 or 1).
  • Fixed incorrect behavior when clicking into a cluster when displaying clustering.
  • Fixed a bug where the map in non-interactive mode was still clickable.
  • Removed an exception for repeated deletions of subscriptions to Channel channels.

Release Date: August 12, 2021

  • Fixed crash when changing marker position and re-initializing MapObjectManager in parallel.
  • Fixed a bug where clustering would stop working for small zoom levels (0 or 1).
  • Fixed incorrect behavior when clicking into a cluster when displaying clustering.
  • Fixed a bug where the map in non-interactive mode was still clickable.
  • Removed an exception for repeated deletions of subscriptions to Channel channels.

Release Date: August 6, 2021

  • Fixed an issue in the navigator where long refreshes occurred in navigation mode, and the position marker had an incorrect direction and shifted to a random position.
  • The MapObjectManager method clusteringObjects(cameraPosition) appeared to get clustering objects for a given camera position. The method returns both clustering objects SimpleClusterObject and markers Marker.
  • Using the SimpleClusterObject object, it is now possible to change cluster attributes in the same way as the attributes of the Marker markers, except for the cluster position.
  • Fixed a memory leak when deleting a map.
  • Fixed an issue where it was impossible to select a route at maximum zoom levels.
  • Removed hanging of tracking the current position when changing the animation duration in the navigator.

Release Date: August 5, 2021

  • The MapObjectManager method clusteringObjects(cameraPosition) appeared to get clustering objects for a given camera position. The method returns both clustering objects SimpleClusterObject and markers Marker.
  • Using the SimpleClusterObject object, it is now possible to change cluster attributes in the same way as the attributes of the Marker markers, except for the cluster position.
  • Fixed a memory leak when deleting a map.

Release Date: July 28, 2021

  • Added calloutPositionChannel with the position of the babble over the route in the RouteMapObject class.
  • In the structure Camera, which returns NavigationManager, added a field range - information about the range of the camera.
  • The voice of the navigator depending on the type of route - pedestrian/bicycle/vehicle - has been divided.

Release Date: July 28, 2021

  • Fixed a bug with MapObjectManager adding a marker to the map before the image is fully loaded.

  • Updated 2GIS + SBER logo on the map.

  • Optimized creation/deletion of MapTextureView.

  • Fixed a bug where the map was not updated when markers were deleted when clustering through MapObjectManager.

  • Events in MapEventProcessor are now not handled if the map is not interactive.

  • General styles have been updated:

    1. Moved to the editor:

      A. Maneuver Arrows (Route Line on Auto => 4 layers of `Maneuver Arrows*').

      B. Start point, end point, intermediate point of the route, and connection point of different parts of the routes (layers Point B, Point A, Connection points, Intermediate points in the Dynamic objects directory).

      C. Search markers (layers Search marker selection', Search marker', Generalized marker' in the Dynamic objects' catalog).

      D. Objects on the route (layers in the directories TUGC on the route in guidance mode and TUGC on the route).

      E. Pedestrian parts of routes (layers in the directories TUGC route line in guided mode' and TUGC route line').

      F. Geo-position marker for pedestrian mode (layers Marker with direction, Marker without direction, Old marker without direction in the Dynamic objects catalog).

      Now these objects are customized from the editor and don't appear unconditionally on top of everything. The layers must be copied to their styles and placed in a similar order, so that all objects will display correctly with the new version of the SDK. To copy a layer, you can select the layers you want, press Ctrl+C/Cmd+C and open in the same window another style.

    2. The Walker Marker layer has been deleted. It should also be removed in its own styles.

    3. Changed layers for displaying entrances (layers Elevations above houses and Elevations below houses). Now the data are not set via JSON, and selected the correct layers in the tab Data. Also in the night theme, the font has been removed for the entrances under the houses, so that they are displayed without signatures. Need to make similar changes in their own styles.

    4. Added layers Signatures of mountain ranges and Signatures of platforms to the directory Signatures of geo objects in the night theme and layer Graffiti in the directory Sightseeing sights.

    5. Added layers Christmas bazaar, Police, Shower stall, Tanzpol to the daytime theme in the `Sightseeing' catalog.

    6. Changed the layers in the directory Roads, requires them to update their own styles.

Release Date: July 23, 2021

  • Fixed a problem with guidance on a long route: update geo-position marker and the whole map was jerking. Now map update is smooth.

  • Fixed an issue with MapObjectManager adding marker to the map before the image is fully loaded.

  • Updated 2GIS + SBER logo on the map.

  • Optimized creation/deletion of MapTextureView.

  • Fixed a bug where the map was not updated when markers were deleted when clustering through MapObjectManager.

  • Events in MapEventProcessor are now not handled if the map is not interactive.

  • General styles were updated:

    1. Moved to the editor:

      A. Maneuver Arrows (Line of Route on Auto => 4 layers `Maneuver Arrows*').

      B. Start point, end point, intermediate point of the route, and connection point of different parts of the routes (layers Point B, Point A, Connection points, Intermediate points in the Dynamic objects directory).

      C. Search markers (layers Search marker selection', Search marker', Generalized marker' in the Dynamic objects' catalog).

      D. Objects on the route (layers in the directories TUGC on the route in guidance mode and TUGC on the route).

      E. Pedestrian parts of routes (layers in the directories TUGC route line in guided mode' and TUGC route line').

      F. Geo-position marker for pedestrian mode (layers Marker with direction, Marker without direction, Old marker without direction in the Dynamic objects catalog).

      Now these objects are customized from the editor and don't appear unconditionally on top of everything. The layers must be copied to their styles and placed in a similar order, so that all objects will display correctly with the new version of the SDK. To copy a layer, you can select the layers you want, press Ctrl+C/Cmd+C and open in the same window another style.

    2. The Walker Marker layer has been deleted. It should also be removed in its own styles.

    3. Changed layers for displaying entrances (layers Elevations above houses and Elevations below houses). Now the data are not set via JSON, and selected the correct layers in the tab Data. Also in the night theme, the font has been removed for the entrances under the houses, so that they are displayed without signatures. Need to make similar changes in their own styles.

    4. Added layers Signatures of mountain ranges and Signatures of platforms to the directory Signatures of geo objects in the night theme and layer Graffiti in the directory Sightseeing sights.

    5. Added layers Christmas bazaar, Police, Shower stall, Tanzpol to the daytime theme in the `Sightseeing' catalog.

    6. Changed the layers in the directory Roads, requires them to update their own styles.

Release Date: July 13, 2021

  • Search for pedestrian routes - RoutingType.PEDESTRIAN, RouteInfo.pedestrianObstacles.
  • Search for routes on public transport - RoutingType.PUBLIC, TrafficRoute.publicTransport.
  • Ability to select the voice of the navigator - NavigationManager.voiceSelector, VoiceManager.
  • Download offline territories - TerritoryManager.
  • Management of floor plans - Map.indoorManager.
  • Getting and setting the rendering level of map objects - SimpleMapObject.zIndex.
  • Ability to specify which parts of the route are displayed on the map - RouteMapObject.displayFlags.
  • Getting lane images - getLanesControlImages.
  • Updating location marker in navigator when leaving a route.
  • Updated location marker on the map.
  • Breaking change: In RouteInfo now the route(TrafficRoute) is the whole route instead of the route length.

Release Date: July 9, 2021

🎉 First public release! 🎉

  • Breaking change: Changed package breakdown - deleted ru.dgis.sdk.context, its contents are located in ru.dgis.sdk.
  • Clustering for Marker - MapObjectManager.withClustering, SimpleClusterRenderer, SimpleClusterOptions.
  • Reduced size of map assembly - removed offline gazetteer and map work.
  • Traffic Control UI - TrafficControl.
  • Setting map refresh rate in power saving mode - MapOptions.powerSavingMaxFps.
  • Setting inscription location relative to marker - TextStyle.textPlacement, TextStyle.textOffset.
  • Ability to set a handler when you click on the copyright - MapView.setUriOpener.
  • Breaking change: Function toMapGeometry(trafficRoute, routePoint) renamed to remainingRouteGeometry.
  • Optimized handling of network connections.

Release Date: June 7, 2021

  • Map default stylesheet updated - resized lettering and icons.

Release Date: June 3, 2021

  • Possibility to set map object order - MarkerOptions.zIndex, PolygonOptions.zIndex etc.
  • Possibility to turn off marker animation MarkerOptions.animatedAppearance.
  • Locales accounting when displaying map and searching, possibility to set locales different from system - LocaleManager.setOverridedLocales.
  • Ability to define the geometry of the rest of the route - toMapGeometry(trafficRoute, currentRoutePoint).
  • Breaking change: Instead of MapOptions.style now MapOptions.styleFile, which allows to set style synchronously. The StyleBuilder.loadStyleFromXxx methods are replaced by StyleBuilder.loadStyle(styleFile).
  • Breaking change: Removed obsolete class MarkerBuilder, instead Marker, MapObjectManager should be used.
  • Breaking change: Changed the dimensionality of LogicalPixel - now they are the same as dp (160 logical pixels in an inch). This leads to a change in the size of the map objects, you must re-adjust styles, but the map in the application looks the same as in the editor.
  • Hidden classes intended for internal use.
  • Fixed display of map at a zero z-level.

Release Date: May 27, 2021

  • Fixed handling of long press on map - TouchEventsObserver.onLongTouch.

Release Date: May 25, 2021

  • Ability to set camera tilt angle depending on zoom - ZoomToTiltRelation, Camera.zoomToTiltRelation.
  • Check for intersection of geometries - Geometry.hasIntersection.
  • Ability to set a custom logging handler - LogOptions.customSink.
  • Ability to set a custom gesture handler - MapGestureRecognitionEngine, MapView.useCustomGestureRecognitionEngine.
  • The map zoom mode is now set via GestureManager.setSettingsAboutMapPositionPoint and affects all gestures.
  • An indication that the first search item is usable directly - SearchResult.autoUseFirstResult.
  • Changed MapObjectManager interface - constructors Marker, Polygon etc. instead of MapObjectManager.createMarker/createPolygon, methods MapObjectManager.addObject/addObjects/removeObject etc.
  • Changed order of parameters in calcPosition and zoomOutToFit.
  • Renamed DataCollectStatus into PersonalDataCollectionConsent.
  • Simplified SDK initialization from Java - some DGis.initialize parameters became optional.
  • Fix for caching map tiles.

Release Date: May 5, 2021

  • Fixed a bug when adding a marker - by default, it faces up the screen regardless of map rotation.
  • Change affecting backward compatibility. Initial marker rotation (MarkerOptions.iconMapDirection) and existing marker rotation (Marker.iconMapDirection) are now optional.

Release Date: April 30, 2021

  • Fixed black blinking of the map when creating it.
  • Ability to set marker rotation MarkerOptions.iconMapDirection, Marker.iconMapDirection.
  • In the copyright on the map by default does not show the version of the SDK, to enable it, set MapView.showApiVersionInCopyrightView = true.
  • Information about the position of cameras in the navigator - Camera.geoPoint, Camera.bearing.
  • Ability to set positionPoint in the functions calcPosition and zoomOutToFit.
  • Functions to create objects replaced by constructors createMapObjectManager -> MapObjectManager, Geometry.createPoint -> PointGeometry etc.

Release Date: April 23, 2021

  • Corrected accounting of map scale.
  • Minimum zoom (CameraZoomRestrictions.minZoom) now defaults to 2.
  • Markers superseded each other removed.
  • Fixed in statistics handling.

Release Date: April 22, 2021

  • Ability to use SVG images for markers - imageFromAsset(context, "some.svg"), imageFromSvg(context, svgData).
  • Fixed crashes during code optimization with ProGuard.
  • Fixed accounting for polyline visibility PolylineOptions.visible, Polyline.isVisible.
  • Added collection of anonymous usage statistics, it is enabled by default (parameter dataCollectStatus in DGis.initialize), it is recommended to disable it only in case of user's explicit choice(for example, GDPR refusal).
  • The map image (MapView.takeSnapshot) displays the copyright.
  • The ability to set your own camera movement path - Camera.move(moveController).
  • Property padding moved from Map to Camera.
  • Ability to set camera behavior when changing padding - Camera.setPadding(padding, positionPointChangeBehaviour).
  • The search (SearchManager ) takes into account the location of the user.
  • Renamed property GeometryMapObject.originalGeometry to geometry.
  • Removed the GeometryMapObject.shift property instead of using the geometry setting.
  • Fixed parameter types registerPlatformLocationSource, registerPlatformMagneticSource - LocationSource, MagneticHeadingSource instead of Any.
  • Accelerated getting result of Future and Channel triggering.
  • Obsolete methods of Future and Channel were removed.

Release Date: April 14, 2021

  • Ability to set an arbitrary map theme - MapOptions.lightTheme, MapOptions.darkTheme, Map.setTheme(light, dark), Map.setTheme(name).
  • Management and getting information about http-cache - HttpCacheManager.
  • Additional constructors of data-types - GeoPoint(lat: Double, lon: Double), Color(r, g, b, a), etc.
  • Information about the lanes of the route - RouteInfo.laneSigns.
  • Ability to rotate/scale the map relative to its center (not the center of the gesture) - RotationSettings.rotateAboutMapPositionPoint, ScalingSettings.scalingAboutMapPositionPoint.
  • Ability to set speed in navigation simulation - SimulationSettings.speed.
  • Removed thin black border at the map objects, when it is not set.
  • Fixed crash when deleting map on emulators.
  • Fixed crash when setting LocationSource.
  • Breaking change: TextStyle.fontSize, TextStyle.strokeWidth have type LogicalPixel, not Float.
  • Breaking change: instead of navigation.Model.laneSign now navigation.Model.laneSignIndex, and LaneSign can be obtained by this index from RouteInfo.laneSigns

Release Date: April 7, 2021

  • Added method takeSnapshot to get the last drawn frame in the picture.
  • Parameter interactive to disable user interaction with the map.
  • Added renderMode. Now you can render the map in TextureView.
  • Added polyline with gradient.
  • Breaking change: updated the [GeoRect] class(/en/android/native/maps/reference/ru.dgis.sdk.coordinates.GeoRect).
  • removeSource no longer throws an exception. Even if the source has not been added to the map.

Release Date: March 24, 2021

Release Date: March 17, 2021

  • Breaking change: we have changed the format for handling property change subscriptions. Previously fields like camera.position were of type StatefulChannel. To get notifications about data changes in Channel you need to call camera.position.connect(), and get the current value through camera.position.value. This kind of API caused questions, so in the new version camera.position (and other properties of StatefulChannel) is just a getter/setter. And you have to use camera.positionChannel to subscribe to change.
  • Have added a cache for the tiles on the map. By default, the cache is included, and the maximum storage size is 300MB. You can disable it or change its size in HttpOptions.
  • Padding on the map.
  • Added possibility to change current geometry for Polygon/Polyline objects.
  • Added a source for raster tiles (see [createRasterTileData]). createRasterTileDataSource.
  • Supported theme attribute for map stylesheets unloaded from the editor.
  • Moved methods for creating marker icons imageFromAsset/imageFromCanvas/imageFromResource to the en.dgis.sdk.map package.
  • Converted methods to property where this form is more logical (e.g. enabledGestures).

Release Date: March 4, 2021

  • High-level API for dynamic map objects (see [MapObjectManager](/en/android/native/maps/reference/ru dgis) MapObjectManager).
  • Methods visibleArea, visibleRect to get the visible area of the map.
  • TrafficSource to display the traffic tiles on the map.
  • Get geometry from TrafficRoute.
  • Fixes in function signatures. Most of the methods now return non-nullable values.

Release Date: February 15, 2021

  • Split SDK into 2 artifacts. sdk-map - version for those who only need map and guide. sdk-full - more complete, contains a navigator. In build.gradle you need to specify the correct version (eg implementation 'ru.dgis.sdk:sdk-map:0.6.0').
  • Map and controls are now available in the dark theme.
  • Added logging level. By default, the SDK only writes Warning and more critical messages.
  • Methods to calculate camera position and Zoom Level on a given geometry.
  • Source for data with clustering.
  • Added the ability to set coordinate with height for the marker.
  • For dynamic objects on the map, added the ability to define custom data.
  • Supported creating a marker with text, without an icon.
  • Breaking change: the marker icon must be specified via style object. The formation of the icon marker style may take considerable time as it may require rasterization/compression of the image. We strongly recommend that you do this in the background thread and reuse MarkerStyle for the same type of markers.

Release Date: February 4, 2021

  • Fixed a bug with API keys (appeared as 403 from tile server).
  • Audible notification about speeding in navigator.
  • Getting traffic score in TrafficManager.
  • The UI in the navigator.

Release Date: January 26, 2021

  • Muting other sounds when playing navigator instructions.
  • Redesign of navigator UI.
  • Bug fix.

Release Date: January 20, 2021

  • Returned map.camera.

Release Date: January 19, 2021

  • ViewportPoint renamed to ScreenPoint, ViewportSize -> ScreenSize.
  • Layer fix for markers.
  • Added GestureManager.
  • Added ability to cancel Future.
  • Changed the work with Any types (see example).

Release Date: December 22, 2020

  • Location marker tracking mode.
  • Offline data support in downloads directory.
  • Playback of voice prompts based on the speed on the route.
  • searchById in the directory module.
  • Added renderView property of MapView object.

Release Date: December 15, 2020

  • Voice instructions in navigator while navigating a route.
  • Support map tilting gesture.

Release Date: December 9, 2020

  • New DgisSource added to work with 2GIS objects.
  • Breaking change: DgisSourceCreator has been removed. Static methods of DgisSource should be used instead.
  • In RouteParams added support for intermediate points.

Release Date: December 3, 2020

  • Reduced size of library.
  • Map and navigator UI controls.
  • Additional information about found route.

Release Date: November 24, 2020

Release Date: November 17, 2020

  • The data needed to initialize the SDK is now hardcoded into the package. No more preinstalled data is needed.
  • Displaying search results with generalization like in the mobile 2GIS.
  • Work with FollowManager. Allows you to follow a point on the map.
  • Online Data Source is selected by default for the map.
  • Trained our 3D engine to work with SVG.
  • Added the coordinate of the next maneuver in the streamer events.

Release Date: November 9, 2020

  • Drag support for map objects.
  • RouteEditor allows choosing a route with a click.
  • Route wiping when navigator is launched.
  • Fixes for ETA.

Release Date: November 2, 2020

Release Date: October 27, 2020

  • Fixed bug with ClassLoader while using sharedUserId.
  • Found route can be get the distance in meters through route.length.
  • Added handler to reduce memory consumption.
  • MapView has a new handler to handle TouchEventsObserver.

Release Date: October 20, 2020

  • [Display current location marker](/en/android/native/maps/examples#nav-lvl1--Display_current_location marker).
  • Added use of API key.
  • Fixed HTTPS functionality.
  • NavigationManager interface was changed.

Release Date: October 8, 2020

Release Date: September 22, 2020

  • Add custom geometries.

More info: https://telegra.ph/NativeSDK-012-09-22

Release Date: September 15, 2020

  • Dark map theme.

More info: https://telegra.ph/NativeSDK-011-09-15

Release Date: September 8, 2020

  • Online map.
  • API change for SDK initialization.
  • Hybrid directory (online + offline).

More info: https://telegra.ph/NativeSDK-010-09-08

Release Date: August 21, 2020

  • Online guide.

More: https://telegra.ph/NativeSDK-001-08-20