Release notes
Important: API versions described below are deprecated. Use versions 10.0 or higher. See instructions on How to migrate from lower versions.
7.4.1 (2023-12-29)β
π Bug fixesβ
- Fixed map rendering. Previously, map could freeze when a modal window is displayed above
MapView.
7.4.0 (2023-11-15)β
π Features and improvementsβ
- Added
MarkerOptions.iconAnimationModeandMarker.iconAnimationModeto enable setting animation modes in markers. The mode can be normal or looped.
π Bug fixesβ
- Optimized and fixed map display for the latest iOS versions.
- Fixed behavior of the
SimpleClusterObject.setIconmethod during the first call. - Fixed clustering via
MapObjectManager.withClusteringthat worked incorrectly with fractional values ofminZoomandmaxZoom. - Updated the company logo in the copyright and map snapshots.
- Fixed the
NavigationViewbehavior to display only the remaining part of the route when requested to display the full route. - Disabled cashing of
FreeRoamtiles during navigation by default. This is done to reduce the number of backend requests.
7.3.1 (2023-08-16)β
π Bug fixesβ
- When forming a query to the directory via
SearchQueryBuilder, the first value from theLocaleManager.localesmethod is always taken to determine the locale, if the locale could not be determined by the search area.
7.3.0 (2023-08-07)β
π Bug fixesβ
- When creating a query in the directory using the
SearchQueryBuilder, the current user's geolocation is no longer used to determine the locale. Instead, the first value from theLocaleManager.localesmethod is taken if an area for searching is not explicitly specified in theSearchQueryBuilder. - Fixed an error that occurred when accessing fields of
SimpleClusterObjectwhile forming a cluster in the implementation of theSimpleClusterRenderer.renderClustermethod.
7.2.1 (2023-07-31)β
π Features and improvementsβ
- Added
SearchQueryBuilder.fromRubricIdsandSearchQueryBuilder.fromQueryTextAndRubricIdsmethods for creating search queries with filtering by rubric identifiers. - Added the
DirectoryObject.tradeLicensefield with information about the organization's license.
7.1.0 (2023-07-20)β
π Bug fixesβ
- Enabled support for the directory to work with the new key format.
- Fixed the retrieval of the map snapshot using the
IMapSnapshotter.makeImagemethod when transitioning the application from the background to the foreground. - Corrected the calculation of remaining working time for organizations in
Directory.workStatusduring offline search. - The
TUGCcontrol in theFreeRoammode is only available when adding aRoadEventSourceto the map.
5.4.0 (2023-07-20)β
π Bug fixesβ
- Enabled support for the directory to work with the new key format.
- Fixed the retrieval of the map snapshot using the
IMapSnapshotter.makeImagemethod when transitioning the application from the background to the foreground.
5.3.0 (2023-06-19)β
π Features and improvementsβ
- Enabled specifying excluded areas via
ExcludedAreawhen searching for routes. - Added the display of the target branch name during the Indoor navigation to
INavigationView.
π Bug fixesβ
- Fixed the issue that appeared after double-tapping a map and changing the scale sharply.
- Fixed the issue potentially causing program crashes when a marker is added to the map with a caption using
Marker. - In
INavigationView, fixed hiding map controls if a user is not interacting with the map for 10 seconds. - In
INavigationView, fixed the button to add TUGC to the map in the ETA panel.
Migration from versions 5.x to 7.xβ
For all types of Mobile SDK:
- Styles must be downloaded again.
- Removed the
DgisSource.createOnlineDgisSourceandDgisSource.createOfflineDgisSourcemethods. UseDgisSource.createDgisSourcewith the additionalDgisSourceWorkingModeparameter to set the map working mode. Four modes are available now:online,offline,hybridOnlineFirst, andhybridOfflineFirst. - The
FollowControllernow returnsStyleZoominstead ofZoom. - Renamed
FollowValue.zoomtoFollowValue.styleZoom. - Renamed
ZoomFollowControllertoStyleZoomFollowController. - Renamed
ZoomToTiltRelationtoStyleZoomToTiltRelation. - Renamed
SpeedRangeToZoomtoSpeedRangeToStyleZoom. - The
Projection.screenToMapmethod now returns a null value instead of exception if a point is located outside the map. - Removed the
BaseCamera.setPaddingmethod and theCameraPositionPointChangeBehaviourenum. Now theBaseCamera.paddingfield is a setter. - Removed the
Camera.animatedMoveStartedandCamera.animatedMoveFinishedmethods. Use theCamera.stateChannelchannel instead. - Labeled the
SearchManager.createOnlineManager,SearchManager.createOfflineManager, andSearchManager.createSmartManagermethods asthrows. - Removed the
BaseCamera.positionandBaseCamera.zoomRestrictionssetters. Labeled theBaseCamera.setPosition,BaseCamera.setZoomRestrictions, andBaseCamera.setPositionPointmethods asthrows. - Removed the
Map.fontIconSizeMultipliersetter. Labeled theMap.setFontIconSizeMultipliermethod asthrows. - Labeled the
NavigationManagerbuilder and theNavigationManager.startandNavigationManager.startSimulationmethods asthrows. - Labeled the
Container.contextgetter and all otherContainerfactory-methods asthrows.
Additionally, for the full version:
- Changed titles in the
ZoomFollowSettingsto better reflect their purpose. - Removed the
Model.applyBetterRoutemethod. Instead, added theModel.betterRouteResponsemethod and theBetterRouteResponseenum to work with alternative routes. - Removed the
State.freeRoamvalue. To determine if the navigator is in the Free Roam mode, you need to check if theRouteInfo.routeBuildOptionsvalue is empty.
7.0.0 (2023-06-16)β
π Features and improvementsβ
- Enabled adding Lottie animation to a marker using
Marker.icon. Added a method for gettingImagewith Lottie data toIImageFactory. - Added the
IndoorControlModelUI model to implement theIndoorControlfor floor plans. - Added the
dynamicFiltersfield to theSearchResult: dynamic filters that can be additionally applied to search results. - Added the
dynamicfield to theDirectoryFilterto handle dynamic filters. - Added the
BaseCamera.maxTiltRestrictionmethod to define and obtain the function of dependence of the maximum camera tilt angle on the style zoom level. - Enabled creating the
MapObjectManagerwith generalization of objects viaMapObjectManager.withGeneralization. - Added the
Projection.screenToMapClippedmethod that returns the map point nearest to the projection of the specified screen point. - In the navigator mode, alternative routes are now displayed and can be suggested as a better route.
Model.betterRouteChannelis a channel for notifications about alternative routes appearing.Model.betterRouteResponseis a method for confirming an alternative route. Routes are configured withNavigationManager.alternativeRoutesProviderSettings. - Added the
Voice.playWelcomemethod to play a voice sample in the navigator. - Added more types to
RoutePointKindfor identifying point objects on a route. - Enabled specifying excluded areas via
ExcludedAreawhen searching for routes. - Added the display of the target branch name during the Indoor navigation to
INavigationView.
βοΈ Breaking changes and backward compatibilityβ
- Removed the
DgisSource.createOnlineDgisSourceandDgisSource.createOfflineDgisSourcemethods. UseDgisSource.createDgisSourcewith the additionalDgisSourceWorkingModeparameter to set the map working mode. Four modes are available now:online,offline,hybridOnlineFirst, andhybridOfflineFirst. - The
FollowControllernow returnsStyleZoominstead ofZoom. - Renamed
FollowValue.zoomtoFollowValue.styleZoom. - Renamed
ZoomFollowControllertoStyleZoomFollowController. - Renamed
ZoomToTiltRelationtoStyleZoomToTiltRelation. - Renamed
SpeedRangeToZoomtoSpeedRangeToStyleZoom. - The
Projection.screenToMapmethod now returns a null value instead of exception if a point is located outside the map. - Removed the
BaseCamera.setPaddingmethod and theCameraPositionPointChangeBehaviourenum. Now theBaseCamera.paddingfield is a setter. - Removed the
Camera.animatedMoveStartedandCamera.animatedMoveFinishedmethods. Use theCamera.stateChannelchannel instead. - Labeled the
SearchManager.createOnlineManager,SearchManager.createOfflineManager, andSearchManager.createSmartManagermethods asthrows. - Removed the
BaseCamera.positionandBaseCamera.zoomRestrictionssetters. Labeled theBaseCamera.setPosition,BaseCamera.setZoomRestrictions, andBaseCamera.setPositionPointmethods asthrows. - Removed the
Map.fontIconSizeMultipliersetter. Labeled theMap.setFontIconSizeMultipliermethod asthrows. - Labeled the
NavigationManagerbuilder and theNavigationManager.startandNavigationManager.startSimulationmethods asthrows. - Labeled the
Container.contextgetter and all otherContainerfactory-methods asthrows. - Changed titles in the
ZoomFollowSettingsto better reflect their purpose. - Removed the
Model.applyBetterRoutemethod. Instead, added theModel.betterRouteResponsemethod and theBetterRouteResponseenum to work with alternative routes. - Removed the
State.freeRoamvalue. To determine if the navigator is in the Free Roam mode, you need to check if theRouteInfo.routeBuildOptionsvalue is empty.
π Bug fixesβ
- Decreased the size of the full build by reducing the dependence of the offline directory on other modules.
- Fixed memory leaks during the destruction of a map with active camera flying.
- Optimized the usage of a single
DgisSourcedata source added to two or moreMapobjects. - Fixed the
Map.dataLoadingStateChannelchannel performance so that it now considers any interactions with a map (for example, adding objects, changing themes, adding data sources). - If a camera position point is located closer to the bottom of the screen, the value of the maximum camera tilt angle can now be decreased.
- In the navigation mode, a route is displayed on a map only after a position appears on the route.
- Fixed returning to the tracking mode during the navigator default operation mode.
- In
INavigationView, fixed hiding map controls if a user is not interacting with the map for 10 seconds. - In
INavigationView, fixed the button to add TUGC to the map in the ETA panel.
πΊ Map style updatesβ
- Added support for a
Bus + No Entryicon in lane callouts. - Set gradient colors for an inactive route line.
5.2.2 (2023-04-26)β
π Bug fixesβ
- Fixed issues causing program crashes while the key specifies restrictions for regions that do not have offline data.
5.2.1 (2023-03-27)β
π Bug fixesβ
- Fixed issues causing program crashes while the map is rotating.
- Fixed issues causing program crashes when markers with SVG images appear with animation.
5.2.0 (2023-03-16)β
π Features and improvementsβ
- Enabled the
DgisSource.setHighlightedmethod to take building entrance IDs to add/remove highlight.
π Bug fixesβ
- Fixed the representation of markers with SVG images.
πΊ Map style updatesβ
- Changed icon size for layers
Parking lots with unknown price,Parking for persons with disabilities,Parking for residents,Parking for taxi,Free parking, andCovered parking. - For the dark theme, changed the caption color for layers
Airport,Railway station,Bus terminal, andPortin thePOI iconscatalog. - Changed default parameters of the selected state of objects:
- Fill and outline color for the
Flat buildingscatalog; - Top, wall, and outline color for the
Building 3Dcatalog; - Icons for the following layers:
Entrances, under buildings,Entrances, over buildings,Small gates,Boom gates,Parking lots with unknown price,Parking for persons with disabilities,Parking for residents,Parking for taxi,Free parking, andCovered parking. - Icons for the following catalogs:
Sights(except for theParklayer in dark theme),POI icons(light theme only),Transport landmarks(light theme only), andPublic transport stops icons(except forRailway station pointandStop pointlayers). - Icon size for the following catalogs:
Parking lots bubbles(Paid parking,Parking lots with unknown price,Parking for residents,Parking for persons with disabilities,Parking for taxi,Free parkinglayers),POI icons(dark theme only),Transport landmarks(dark theme only),Sights(only for theParklayer in dark theme); - Icons and caption color for
Metro stations icons(except forMCD 1andMCD 2layers) andMetro exits icons(except forMCD 1andMCD 2layers) catalogs; - Icon size and caption color for
MCD 1andMCD 2layers inMetro stations iconsandMetro exits iconscatalogs; - Fill color for the
Roadscatalog (except forIntercity, backgroundandFederal, backgroundlayers in the light theme); - Line width for the
Roadscatalog in the light theme (except forWalkways,Intercity, background, andFederal, backgroundlayers).
- Fill and outline color for the
- Added a new
Entrances, arrowslayer with selected state only.
5.1.2 (2023-02-15)β
π Bug fixesβ
- Fixed issues causing program crashes when a
Contextobject is removed. - Fixed issues causing program crashes when caching of map tiles fails.
5.1.0 (2023-01-11)β
π Features and improvementsβ
- Added new
sizeparameter (map size) to thecalcPositionmethod.
π Bug fixesβ
- Fixed issues with the
HttpOptions.timeoutsetting, which previously did not change the timeout ofOnlineSearchManager/SmartSearchManagerrequests. - Disabled
OpenStreetMapappearing in the copyright. - Fixed navigation failure if the data package misses voice instructions.
- Fixed locale definition when creating requests via
OnlineSearchManager.
5.0.2 (2022-12-26)β
π Bug fixesβ
- Fixed issues when the
Mapobject was not removed after the removal ofMapView. - Fixed the ETA panel display in
NavigationViewduring the transition to theIndoormode.
5.0.1 (2022-12-08)β
π Bug fixesβ
- Fixed issues that could result in a camera (in a rest state) flying to the current location after the navigation is finished.
5.0.0 (2022-12-06)β
π Features and improvementsβ
- Stopped using OpenGL as a graphic API due to its performance issues on devices with M1 or newer processors. Replaced it with Apple Metal.
- Added pedestrian navigation inside buildings, which turns on when a created route takes floors into account (using the
PedestrianRouteSearchOptions.useIndoorflag). When a user enters a building, the navigator UI displays a control panel with floor switches showing which floors the route passes. The bottom panel displays the floor number of the destination point. Added theIndoorDetectorproperty to theNavigationManagerclass to define user location indoors in the navigation mode. - Enabled searching and displaying pedestrian routes inside building with floor plans.
- The
PedestrianRouteSearchOptions.useIndoorflag must be enabled during search (enabled by default). - The indoor route is displayed in dotted lines on an active floor. If
RouteMapObjectDisplayFlag.inactiveFloorsis enabled, the route is displayed on all floors. - In the transitions between floors icons with instructions are displayed, controlled by
RouteMapObjectDisplayFlag.indoorInstructions. - To get information about floors that the rout passes, use
Route.levels.
- The
- Added a new
BaseCameraclass to store primary camera settings. TheCameraclass is a child ofBaseCamera. Additionally, added aclonemethod to theBase Cameraclass to copy cameras. - Added overloading for
zoomOutToFitandcalcPositionmethods that takes an array ofSimpleMapObjectmap objects instead of geometries. - Added
TrafficRouter.findBriefRouteInfosmethod for quickly getting basic information about routes (travel time, length, etc.) without building them. - Added route search for scooters. To enable it, define
ScooterRouteSearchOptionsforTrafficRouter.findRoute. - Added information about altitude levels on the route:
Route.altitudes. - Added information about restricted areas on the route:
Route.truckRestrictedAreas,Route.vehicleRestrictedAreas. - Enabled cutting out the passed distance from both ends of the route:
RouteMapObject.passedDistanceVisualization. - Added new
RouteMapObject.replaceAllObjectsmethod to create several displayed routes simultaneously. - Enabled configuration of bubble display on the route:
RouteMapObject.calloutLabelFlags,RouteMapObject.calloutLabelDisplayMode. - Added
RouteMapObject.permanentDisplayFlagsto disable hiding of certain elements of a route when it cuts out. - Added a new
NavigationFollowControllerclass to control how a map follows the geolocation marker in the navigator. - Enabled getting a route bubble using
Map.getRenderedObject. The returned object is of typeRouteInfoCalloutMapObject. - Improved
SmartSearchManagerperformance: any exceptions inOnlineSearchManagercause switching toOfflineSearchManager. - Added the
pinchScalingCenterparameter toMapGestureViewOptionsto define the point on the screen about which the map scales upon the scaling gesture. - Enabled defining IDs for request in WebAPI for On-premise keys.
- Updated the logo in the map copyright.
- Added the
roadEventCreationEnabledflag toNavigationViewOptionsto disable control of road events. - Enabled support of PPI on all models of iPhone 14 and iPad.
- Added the
locationServiceproperty toDGis.Containerbased on theILocationServiceprotocol to get the last known user location. - Added
MapView.addObjectTappedCallback,MapView.addObjectLongTouchCallback,MapView.removeObjectTappedCallback, andMapView.removeLongTouchCallbackmethods to add or removeMapObjectTappedCallback(processors of taps and long presses on a map). - Added the
makeNavigationViewmethod withINavigationViewControlsFactoryandINavigationMapControlsFactoryparameters toINavigationViewFactory. This method allows you to redefine controls of the navigator and navigator maps. All controls are public now. - Added
makeNavigationViewControlsFactoryandmakeNavigationMapControlsFactorymethods toINavigationViewFactoryto get navigator control factories and navigator map controls respectively.
βοΈ Breaking changes and backward compatibilityβ
- Updated method signatures:
zoomOutToFitnow takes only camera and geometry;calcPositionnow takes new parameters (screen area, tilt, bearing) so that you do not need to preset a camera to calculate position.
- Removed the redundant
RoutePositionclass. UseRoutePointinstead. - Removed
Model.cameraProgressChannel. Use theCameraNotifierinstead. - Changed the type of
Traffic.durationsfromSecondsRouteLongAttributetoMillisecondsRouteAttributeand increased value precision. - Changed the type of
Route.obstaclestoObstacleInfoRouteAttributeand added additional information. - Enabled the
ZoomFollowControllerbuilder to take theMapparameter. - Removed
showOsmCopyrightandosmCopyrightAnimationDurationmethods from theMapViewclass.
π Bug fixesβ
- Increased precision of displaying the remaining travel time in the navigator.
- Changed the behavior of
OfflineSearchManager: in case of empty result, it returns an empry list without raising and exception. - Changed the camera zoom level of
INavigationViewwhen the navigator starts. - Fixed the performance of the speed limit control in
INavigationView. Now the zero limit is not displayed. - Forced the reset of camera settings after the navigation in
INavigationViewin finished. - Improved correctness of calculating points of difference between the primary route and a better one.
- Fixed the performance of
CompassControl. - Fixes locale definition in search queries. Now the region is defined based on the area of interest and the current user location.
- Enabled verification of adding customer markers with empty images.
- Fixed issues that caused a route selection panel and a better route disappear after the time out.
πΊ Map style updatesβ
- Added the logic of displaying pedestrian routes (
Pedestrian route linegroup) and route objects (Point A, Point B, Route joints, Intermediate route points in theDynamic objectsgroup) on floors. - Added the
Indoor instructionsgroup with navigation instructions inside buildings. - Hid the
Point Alayer in the navigation mode. - Disabled display of
Region borderandRegionslayers. - Defined gradient colors of an inactive route line.
- Fixed the selector of paid parkings.
- Moved the
Intermediate route points,Route joints,Point A, andPoint Blayers after theLocation precision radiuslayer.
Migration from versions 4.x to 5.xβ
For all types of Mobile SDK:
- Updated method signatures:
zoomOutToFitnow takes only camera and geometry;calcPositionnow takes new parameters (screen area, tilt, bearing) so that you do not need to preset a camera to calculate position.
- Enabled the
ZoomFollowControllerbuilder to take theMapparameter. - Removed
showOsmCopyrightandosmCopyrightAnimationDurationmethods from theMapViewclass.
Additionally, for the full version:
- Removed the redundant
RoutePositionclass. UseRoutePointinstead. - Removed
Model.cameraProgressChannel. Use theCameraNotifierinstead. - Changed the type of
Traffic.durationsfromSecondsRouteLongAttributetoMillisecondsRouteAttributeand increased value precision. - Changed the type of
Route.obstaclestoObstacleInfoRouteAttributeand added additional information.
v4.6.1β
Release Date: January 11, 2023
π Fixesβ
- Fixed navigation failure if the data package misses voice instructions.
v4.6.0β
Release Date: December 30, 2022
π Fixesβ
- Fixed issues with the
HttpOptions.timeoutsetting, which previously did not change the timeout ofOnlineSearchManager/SmartSearchManagerrequests. - Disabled
OpenStreetMapappearing in the copyright.
v4.5.0β
Release Date: November 16, 2023
π New featuresβ
- Improved
SmartSearchManager- now any exceptions inOnlineSearchManagerswitch toOfflineSearchManager. - In the
MapGestureViewOptionsappeared parameterpinchScalingCenterto set a point on the screen, relative to which the map is scaled by zoom gesture. - Now it's possible to set identifier for On-Premise key's requests to WebAPI.
π Fixesβ
- In case of an empty result,
OfflineSearchManagerdoes not throw an exception, but returns an empty list. - Camera zoom was changed in
NavigationViewon navigator startup, closer to 2GIS main application.
v5.0.0-beta.4β
Release Date: November 8, 2023
π New featuresβ
- Support for PPI of all iPad models.
- Implemented methods
IMapView.addObjectTappedCallback,IMapView.addObjectLongPressCallback,IMapView.removeObjectTappedCallback,IMapView.removeLongPressCallbackto add and removeMapObjectTappedCallback- tap and long-press map handlers. - In
MapGestureViewOptionsit's possible to set a point inpinchScalingCenter, relative to which map scale will be changed.
π Fixesβ
- More correct calculation of divergence point between main route and better route.
- Fixed the operation of the
CompassControlcompass control. - Fixed locale definition in search queries. The region is now determined through the area of interest or the user's current location.
v5.0.0-beta.3β
Release Date: October 31, 2022
π New featuresβ
- PPI support for all iPhone 14 models.
- Added
DGis.ContainerpropertylocationService- implementation of theILocationServiceprotocol to get the last known location of the user.
π Fixesβ
- Fixed an issue where a route would better disappear along with the route selection panel after a timeout.
v4.4.1β
Release Date: October 31, 2022
π New featuresβ
- PPI support for all iPhone 14 models.
π Fixesβ
- Fixed an issue where the route would better disappear along with the route selection bar after a timeout.
v2.8.3β
Release Date: October 31, 2022
π New Featuresβ
- PPI support for all iPhone 14 models.
v5.0.0-beta.2β
Release Date: October 13, 2022
π New featuresβ
- Updated the 2GIS logo in the copyright on the map.
- The
roadEventCreationEnabledflag appeared inNavigationViewOptionsto disable the road event controller.
π Fixesβ
- In
INavigationViewthe speed limit controller has been fixed - now zero limit is not displayed.
v4.4.0β
Release Date: October 13, 2022
π New featuresβ
- Updated the 2GIS logo in the copyright on the map.
v2.8.2β
Release Date: October 13, 2022
π New featuresβ
- Updated the 2GIS logo in the copywriter on the map.
v5.0.0-beta.1β
Release Date: September 29, 2022
π New featuresβ
- Dropped OpenGL as graphics API in favor of Apple Metal, due to unstable OpenGL performance on devices with M1 or newer processors.
- Added ability to search and display pedestrian routes in buildings with floor plans.
- When searching,
PedestrianRouteSearchOptions.useIndoormust be enabled (enabled by default). - The route in the building is displayed dashed on the active floor, and when
RouteMapObjectDisplayFlag.inactiveFloorsis enabled, it is displayed on all floors. - Icons with instructions are displayed on transitions between floors, their visibility is controlled by
RouteMapObjectDisplayFlag.indoorInstructions. - To get information about the floors the route passes through, use
Route.levels.
- When searching,
- Added pedestrian navigation in the building (the feature is experimental and will be finalized). Enabled when route is built considering floors (with flag
PedestrianRouteSearchOptions.useIndoor) when entering the building. Navigator's UI is changed - floor toggle control is displayed with marking which floors the route passes 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
ScooterRouteSearchOptionsinTrafficRouter.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 bubbles 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 bubble through
Map.getRenderedObject, the returned object has typeRouteInfoCalloutMapObject.
π Fixesβ
- Increased accuracy of displaying remaining travel time in navigator.
βοΈ Changes affecting backward compatibilityβ
- Removed
RoutePosition, a redundant class, and usedRoutePointinstead. - Removed
Model.cameraProgressChannel, you must use classCameraNotifierinstead. Traffic.durationsis now of typeMillisecondsRouteAttributeinstead ofSecondsRouteLongAttributeand more accurate values.- The
Route.obstaclesnow has the typeObstacleInfoRouteAttributeand contains additional information besides the obstacle type. - The constructor
ZoomFollowControllernow takes theMapparameter.
πΊ Changes in map stylesβ
- Pedestrian route (Pedestrian route line group) and route objects (Point A, Point B, Route joints, Intermediate route points in the Dynamic objects group) have added logic for display on floors.
- Added building navigation instructions - group Indoor instructions.
v4.3.0β
Release Date: August 26, 2022
π New featuresβ
- Ability to set the font of the marker labels by specifying
TextStyle.fontName- font name from the style editor. - New value of enum-a
CameraState.followPosition- camera is in position tracking mode.
π Fixesβ
- Optimized offline fare search - don't 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- geo-positioning, switching between three tracking modes, displaying current mode. - Reduced the number of network requests for data on traffic jams when moving the map quickly.
- Timeout errors when downloading the traffic score are not logged as an error.
v4.2.0β
Release Date: August 4, 2022
π Fixesβ
- Fixed an exception in
Map.visibleArea. - Localization of inscriptions on the map now uses all the languages defined in the system.
- Localization of road event captions.
- Fixed route rebuilding during navigation.
- Changed the default value of the
radiusparameter inMap.getRenderedObjects.
v4.1.0β
Release Date: July 15, 2022
π Fixesβ
- 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.elevationcan 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_timein key if offline features are not used. - Fixed a crash when checking for intersections of geometries using the
Geometry.intersectsmethod. - Fixed potential crashes when running the map.
βοΈ Changes affecting backward compatibilityβ
- The enum value of
RouteMapObjectDisplayFlag.tranportConnectionPointshas been renamed totransportConnectionPoints- corrected a typo.
Migration from v2.xβ
For all types of Mobile SDK:
- Contact 2GIS support service to get a new key for using MobileSDK. It is obligatory to specify the
appIdof the application for which the key will be created. The received key filedgissdk.keyshould be added either to the application root or during MobileSDK initialization pass the object of structureApiKeyOptionsspecifying the path to the file. - The
APIKeysstructure has been removed. Instead of it inContainer.initthe first parameter must be passed the object of the structureApiKeyOptionswhich contains the path to the filedgissdk.key. The defaultApiKeyOptions.defaultobject tries to get the file from the root of the application. - Update styles.
- Renamed the
DirectoryObjectIdclass toDgisObjectId. - Removed
serialize,deserializefunctions forCameraPositioninstead they should use new serialization mechanism -PackedMapState. - Removed methods
SearchQueryBuilder.setLocationandSuggestQueryBuilder.setLocation- the value is automatically taken from the geoposition source. - Removed method
PackedSearchQuery.location. - Removed
SearchResultMarkerObjectandSearchResultMarkerSourcefor 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
MyLocationMapObjectSourceby defaultSmoothMyLocationControlleris used instead ofRawMyLocationController.
Additionally for full version:
- Removed lists with route information in
RouteInfo-cameras,instructions,laneSignsetc. and current item 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-a
RoadType.roadvalue is divided into subtypesRoadType.highway,RoadType.federalRoad, etc. - The
VoiceSelector.setVoicemethod is replaced by thevoiceproperty. - Removed
Model.durationChannel,Model.routeDurationChannel, insteadModel.dynamicRouteInfo.traffic.durations.calculateDuration(routePoint). - Changed the set of enum-a
RoadSurfacevalues. - Removed
Model.navigationActiveChannel,NavigationManager.uiSettings, instead a new classActivityTrackeris used to get navigator activity.
v2.8.1β
Release Date: July 13, 2022
π Fixesβ
- Fixed crash when checking for intersecting geometries using the
Geometry.intersectsmethod. - Fixed potential crashes when running the map.
v4.0.0β
**Release Date:**June 17, 2022
π New featuresβ
- Hybrid mode of operation.
- Added the 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
TerritoryManageris used to download data about territories and get information about them. - For the map to work in hybrid mode, it is necessary to set a hybrid source in
MapOptions.sources-[.dgisHybridSource]. - Hybrid directory search engine -
SearchManager.createSmartManager(but there are also separatecreateOnlineManagerandcreateOfflineManager). - The fare search (
TrafficRouter) is always hybrid - it uses online/offline data depending on its availability. - With
TerritoriesAlongRouteProvideryou can get a list of areas the route passes through.
- Added the 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
- 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 parameterlevelId.
- Display pop-up tooltips with a bar above the navigator's route.
- By default,
RouteMapObjectDisplayFlag.lanesBubblesis set. - The positions of the cues on the route can be obtained with
RouteMapObject.lanesCalloutPositions.
- By default,
- Information about events and traffic jams on the route in the navigator -
Model.dynamicRouteInfo. To set its updating parameters, useNavigationManager.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 "avoid stairs" option on pedestrian routes -
PedestrianRouteSearchOptions.avoidStairways. - Changed key logic. Now, when initializing MobileSDK, you need to pass the path to the file
dgissdk.key, which contains information about the key. - New design of the Navigator
NavigationViewUI with all controls. The design 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.
- Bicycle specific attributes are added for bicycle routes, such as:
Route.badRoads- whether the road is bad.ExtraInstructionInfo.bicycleCrossroad- bicycle instructionsBicycleInstructionCrossroad,BicycleInstructionCrossroadManeuver,BicycleInstructionCrossroadManeuverDirection,BicycleInstructionCrossroadLandmark.
- By default, the
Free roamcaching of tiles in the route mode is enabled. UseFreeRoamSettings.onRoutePrefetchLength,FreeRoamSettings.onRoutePrefetchRadiusMetersandFreeRoamSettings.cachePrefetchRadiusMetersto set caching. - Added flag
TruckRouteSearchOptions.fallbackOnCar, which allows to search car route when truck route cannot be found. - Processing of clicks on building entrances. Added field
DgisObjectId.entranceId- entry ID. It is populated for entrances received throughMap.getRenderedObjects. Support for inputs in the directory will be added in future releases. - The navigator's "thermometer controller" that displays traffic jams on the route is
ThermometerControlView. - Route overview in the navigator. Enabled by selecting the appropriate action on the Dashboard or by clicking on the `Thermometer.
- Added protocols
IMarkerViewandIMarkerViewFactoryto create UI View markers. You must use theIMarkerViewOverlayprotocol to add these markers to the map. - Exit markers have appeared in the lane callouts.
- Added information about exits to
DirectoryObject-EntranceInfo. - Modified
SearchManager.suggestto display entrances and apartments. - Modified
SearchManager.searchByDirectoryObjectIdandSearchManager.searchByIdto search the entryway by ID. - Added ability to customize the display of active and inactive routes through
RouteEditorSource.activeDisplayFlagsandRouteEditorSource.inactiveDisplayFlags. - Added
RouteMapObjectDisplayFlag.bubblesflag to control the visibility of callouts on routes. - Added priorities for network requests, so that higher priority data is loaded first.
- Added
Map.dataLoadingStateChannelto track map loading status.
π Fixesβ
- Reduced the size of the Mobile SDK map build.
- Free Roam data caching. Caching settings can be configured with
NavigationManager.freeRoamSettings. - Fixed an issue in which a camera that was 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.
- Fixed the situation when
can't load from networkerrors appeared in logs while displaying traffic events. - Optimized logic of route re-request.
- Fixed problem with route remaining on the map at the end of a trip.
- Fixed the order of drawing routes.
πΊ Changes in map stylesβ
- Displayed floor plans.
- There are new catalogs with layers: Floor Squares, Organization Squares, Floor Walls, Organization Anchors, Floor Attractions, and 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 getting through
Map.getRenderedObjects. - Removed layers "Traffic jams, bypass 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
SimpleMapObjectobjects on floors.
v2.8.0β
Release Date: June 9, 2022
π New featuresβ
- Property
MapObjectManager.isVisible- enable/disable displaying of all objects simultaneously.
π Fixesβ
- Static map content is now loaded with higher priority than dynamic content.
- Fixed potential UI thread blocking for a long time when working with the network.
v4.0.0-beta.2β
Release Date: May 25, 2022
π New featuresβ
- The
MapObjectManager.isVisibleproperty - enable/disable display of all objects simultaneously. - Processing of clicks on building entrances. Added field
DgisObjectId.entranceId- entry ID. It is populated for entrances received throughMap.getRenderedObjects. Support for inputs in the directory will be added in future releases. - The navigator's "thermometer controller" that displays traffic jams on the route is
ThermometerControlView. - Route overview in the navigator. Activated by selecting appropriate action on Dashboard or clicking on
ThermometerControlView.
π Fixesβ
- Fixed display of traffic jams during tracking.
βοΈChanges affecting backward compatibilityβ
- Removed
Model.durationChannel,Model.routeDurationChannel, insteadModel.dynamicRouteInfo.traffic.durations.calculateDuration(routePoint). - Changed the set of enum-a
RoadSurfacevalues. - Removed
Model.navigationActiveChannel,NavigationManager.uiSettings, instead a new classActivityTrackeris used to get navigator activity.
πΊ Changes in map stylesβ
- 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 "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" in the night theme.
v2.7.0β
Release Date: May 18, 2022
π New featuresβ
- Added ability to set the rendering layer
SimpleObjectwhen creating theMapObjectManager. Added parameter -layerId- ID of the layer of the new typeDynamic Object. When it is set, objects are placed on this layer, which allows you to set their order relative to other layers. - The situation is now taken into account when
DGis.Containeris not initialized from the main thread.
π Fixesβ
- Fixed map hangs 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
Polygonobject would change at different zooms. - Optimized plug updates - now they are cached depending on the style zoom.
v4.0.0-beta.1β
Release Date: May 4, 2022
π New featuresβ
- Changed the logic of key handling. Now during MobileSDK initialization you have to pass path to
dgissdk.keyfile, which contains information about the key. - New UI design for
NavigationViewnavigator with all controls. The design 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.
- Added an option to set the rendering layer
SimpleObjectwhen creatingMapObjectManager. Added parameter -layerId- the ID of the layer of the new typeDynamic Object. When it is set, objects are placed on this layer, which allows you to set their order relative to other layers. - In
MapOptions.sourcesadded ability to set hybrid map source viaMapOptions.SourceDescriptor.dgisHybridSource. - Bicycle-specific attributes are added for bicycle routes, such as:
Route.badRoads- whether the road section is bad.ExtraInstructionInfo.bicycleCrossroad- bicycle instructionsBicycleInstructionCrossroad,BicycleInstructionCrossroadManeuver,BicycleInstructionCrossroadManeuverDirection,BicycleInstructionCrossroadLandmark.
- By default, the
Free roamcaching of tiles in the route mode is enabled. UseFreeRoamSettings.onRoutePrefetchLength,FreeRoamSettings.onRoutePrefetchRadiusMetersandFreeRoamSettings.cachePrefetchRadiusMetersto set caching. - Added flag
TruckRouteSearchOptions.fallbackOnCar, which allows to search truck route if truck route cannot be found. - Sending new field in events of navigator's statistics.
- Support for iPhone SE 3 and iPad Air 5.
π Fixesβ
- Faster addition of complex polygons to the map.
- Fixed an issue where a camera that was 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.
- Fixed the situation when
can't load from networkerrors appeared in logs while displaying traffic events. - Optimized logic of route re-request.
- Fixed problem when at the end of trip built route remained on the map.
βοΈ Changes affecting backward compatibilityβ
- The
APIKeysstructure has been removed. Instead, the first parameter inContainer.initmust be passed to theApiKeyOptionsstructure object, which contains the path to thedgissdk.keyfile. The defaultApiKeyOptions.defaultobject tries to get the file from the root of the application. - Removed methods
SearchQueryBuilder.setLocationandSuggestQueryBuilder.setLocation- value is automatically taken from geoposition source. - Removed method
PackedSearchQuery.location. - Removed
SearchResultMarkerObjectandSearchResultMarkerSourcefor 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,SmoothMyLocationControlleris used by default instead ofRawMyLocationController.
πΊ Changes in map stylesβ
- Changes for the new navigator: colors/size of traffic jams, route, maneuvers, new arrow model.
- Support for
SimpleMapObjectplacement on floors.
v2.6.0β
Release Date: April 19, 2022
π New featuresβ
- Sending a new field in navigator statistics events.
- Support for iPhone SE 3 and iPad Air 5.
π Fixesβ
- Faster addition of complex polygons to the map.
- Fixed updating traffic jams on the route.
- Caching of traffic events.
- Improved ETA update algorithm on the route.
βοΈ Changes affecting backward compatibilityβ
- The
SearchQueryBuilder.setLocationandSuggestQueryBuilder.setLocationmethods are marked as deprecated - the value is automatically taken from the geoposition source.
v4.0.0-alpha.1β
Release Date: April 4, 2022
π New featuresβ
- Hybrid mode of operation.
- Added the ability to download data for map, directory and fare finder operations, which will be used in the future when there is no internet connection. The
TerritoryManageris used to download data about territories and get information about them. - For the map to work in hybrid mode, it is necessary to set both online and offline sources at once in
MapOptions.sources-[.dgisOnlineSource, .dgisOfflineSource]. - Hybrid directory search engine -
SearchManager.createSmartManager(but there are also separatecreateOnlineManagerandcreateOfflineManager). - The fare search (
TrafficRouter) is always hybrid - it uses online/offline data depending on its availability. - With
TerritoriesAlongRouteProvideryou can get a list of areas the route passes through.
- Added the ability to download data for map, directory and fare finder operations, which will be used in the future when there is no internet connection. The
- Displays floor plans.
- It happens automatically when the map approaches large buildings (shopping malls, airports, etc.).
- To get information about floor plans and switch them, the
IndoorManageris used. - There is a ready-made UI controller for floor management -
IndoorControl. - Dynamic objects (
SimpleMapObject) can be placed on a specific floor plan using the parameterlevelId.
- Display pop-up tooltips with a lanes above the navigator's route.
- Off by default. You can turn it on by setting
RouteMapObjectDisplayFlag.lanesBubblesinRouteMapObject.displayFlags,RouteMapSettings.onRouteDisplayFlagsorRouteMapSettings.freeRoamDisplayFlags. - Cue positions on the route can be obtained with
RouteMapObject.lanesCalloutPositions.
- Off by default. You can turn it on by setting
- Information about events and traffic jams on the route in the navigator -
Model.dynamicRouteInfo. To set its updating parameters, useNavigationManager.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 "avoid stairs" option on pedestrian routes -
PedestrianRouteSearchOptions.avoidStairways.
π Fixesβ
- Fixed the update of traffic jams on the route.
- Free Roam data caching. Caching settings can be configured with
NavigationManager.freeRoamSettings. - Traffic event caching.
βοΈ Changes affecting backward compatibilityβ
Map version:
- The
DirectoryObjectIdclass has been renamed toDgisObjectId. - Removed
serialize,deserializefunctions forCameraPositioninstead they should use new serialization mechanism -PackedMapState.
Full version:
- Removed lists with route information in
RouteInfo-cameras,instructions,laneSignsetc. 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-a
RoadType.roadvalue is divided into subtypesRoadType.highway,RoadType.federalRoad, etc. - The
VoiceSelector.setVoicemethod is replaced by thevoiceproperty.
v2.5.0β
Release Date: March 23, 2022
π New featuresβ
- Event in stats about navigator settings change while navigating.
- Event in navigator statistics about leaving a route and returning to it.
π Fixesβ
- Fixed
Map.getRenderedObjectsoperation 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,searchByDirectoryObjectIdmethods.
πΊ Changes in map stylesβ
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 at [z2:10 ... z5:15].
"Middle 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 day and night 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 carpet pad", "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 was changed to [z14:12 ... z16:14], like 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 "Transportation Sights" catalog for the daytime theme, changed to a minimum zoom of 7.5.
"Bus Station" In the "POI icons" catalog for the night theme, the object_class filter has been changed, now "bus_station", as 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 point" 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.
"Light-green" from the "Icons of subway exits" catalog The icon width was changed to 15 for the night and day theme.
"City captions with dots" For the night and day theme, the font size has been changed to [z6:11.5 ... z15:20]. 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 assignment", "Speed camera" and others in the "Traffic events on route" and "Traffic events on route in 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 Assignment" 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 nighttime 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 line captions".
In the night theme, the "Special Line Captions" layer has been renamed to "Special Line Captions".
The "Industrial area" 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 purpose" 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 you can set z 20 in Mobile SDK, and on some latitudes it corresponds to the style z 20, objects with a maximum scale of 20 may hide in this situation. 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).
v2.4.2β
Release Date: March 16, 2022
π Correctionsβ
- Disabled
accessibilityin copyright control.
v2.4.1β
Release Date: March 11, 2022
π Fixesβ
- Fixed update of traffic jams along the route.
- Fixed bug when sending fare finder statistics.
v2.4.0β
Release Date: March 4, 2022
π New featuresβ
- Added warnings and errors to the log in case support for a particular MobileSDK version expires or has expired.
- Supported
CarRouteSearchOptions.avoidFerryfilter to prohibit ferrying. - Gesture handlers
IMapGestureInputController.didDoubleTapandIMapGestureInputController.didTwoFingerTapnow have ability to set gesture work position. - When sending statistics, the events handled are:
- Completion of the alternate route request
- Change of the index of the next intermediate route point
- Updates of dynamic route information
π Fixesβ
- Fixed a bug where the carriage boarding description was invalid on routes on public transport when no carriage information was available.
- Calling
Camera.setPaddingandCamera.setPositionPointwith theCameraPositionPointChangeBehaviour.keepCameraparameter now resets position tracking. - Fixed an issue with rendering some regions.
- Fixed an issue with sending statistics related to generating an event after reaching an endpoint.
- In
NavigationViewthe problem, in which the second and subsequent routes are built not to the specified point was fixed. - Now if you sent a request to find a new route, but returned to the current route before receiving it, the requests for a better route are sent.
βοΈ Changes affecting backward compatibilityβ
- The
TrafficRouter.findRoutemethod now returns an empty list instead of throwing an exception if no routes are found.
v2.3.3β
Release Date: February 25, 2022
π New featuresβ
- Added network request logging at log info and verbose level.
π Fixesβ
- Fixed sending stats with mobile network generation. Used to send invalid null values.
v1.6.18β
Release Date: February 25, 2022
π New featuresβ
- Added network request logging at log info and verbose level.
π Fixesβ
- Fixed sending stats with mobile network generation. Used to send invalid null values.
v2.3.2β
Release Date: February 21, 2022
π Fixesβ
- Fixed sending of stats about navigation start.
v2.3.0β
Release Date: February 10, 2022
π New featuresβ
- Smooth flight when geo-position tracking is activated -
CameraBehaviour.transitionType(defaultTransitionType.SMOOTH- enabled). - Ability to set settings that are not available through the API (eg, URLs of web services) - parameter
vendorConfigin the constructorContainer- json-file with settings. The settings set is currently undocumented. - Automatically switching to a route is better if the user continued on it.
- Sending statistics on fare search and navigation performance.
- Text description of cars recommended for boarding -
PublicTransportInfo.boardingSuggest. For example, "board the first car". - 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.
π Fixesβ
- Using the system HTTP client instead of CURL.
- Ability to define your own implementation of the HTTP-client -
IHTTPClient. - Optimization of displaying traffic jams on the map.
- Optimized adding of route to the map.
- Fixed route detection better after leaving a route and back.
- Fixed erroneous notification about bad GPS signal when starting navigation simulation (
NavigationManager.startSimulation).
v1.6.16β
Release Date: January 26, 2022
π New featuresβ
- All network request handling has been moved from
libcurlto the system network client.
π Fixesβ
- Added camera position logging if incorrect position value is passed to
Camera.move,Camera.positionandMapOptions.positionmethods.
v1.6.14β
Release Date: January 10, 2022
π Fixesβ
- Fixed an issue where tiles would not load when AdGuard VPN was enabled.
- Removed logging errors when map object crashes immediately after creation.
- Fixed network cache crash.
- 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.
v2.2.0β
Release Date: December 29, 2021
π New featuresβ
- 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).
π Fixesβ
- Fixed crash when changing map zoom settings in navigator (
NavigationManager.zoomFollowSettings). - Fixed
PublicTransportInfo.coloroperation for transport types other than metro. - The period of traffic data update is limited by 30 seconds from the bottom.
βοΈ Changes affecting backward compatibilityβ
- The
PublicTransportTransfer.waypointNameproperty has been renamed tofinishPointName.
πΊ Map style changesβ
-
Changes for finding 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 to 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" group added to the image leibeling, 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 "Parking Area" layer has changed its minzoom from 17.5 to 17.
- Minzoom was changed from 4 to 3 for the "Large 2GIS Cities" layer.
- 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.
- In the daytime theme:
v2.1.0β
Release Date: December 24, 2021
π New featuresβ
- 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
Locationstructure - the name of the geopositioning sourcesourceand the time point at which the geoposition was defined,timestamp. - Class
PackedMapStatefor serialization and deserialization of the map state. The oldserialize(cameraPosition:)anddeserialize(positionString:)methods are marked as deprecated. - Class
PackedSearchQueryfor serializing and deserializing a search query. - Added
mapToScreen(geoPointWithElevation:)method to theProjectionstructure. - Implemented a control for displaying routes on public transport.
- Added the sending of statistics for the navigator.
π Fixesβ
- Corrected a bug when switching from
FreeRoammode to navigation mode to play a re-route instruction. - Fixed missing 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.
- Fixed notification on bad GPS signal when starting navigation simulation.
- Fixed the problem with black screen on initialization of the map before loading the background colors from the stylesheets. Added field
MapOptions.backgroundColorfor setting initial background color. - Fixed an issue where map tiles would not load when AdGuard VPN was enabled.
- Optimized the display of traffic jams on the map.
v1.6.12β
Release Date: December 8, 2021
π Fixesβ
- Fixed crashes related to the SIGABRT system signal.
v2.0.0β
Release Date: December 2, 2021
π New featuresβ
- In the search result
SearchResultfieldSearchResultType- information about result type was added. - In the
SearchQueryBuilderit is now possible to set filtering viaSearchQueryBuilder.setDirectoryFilter(directoryFilter:)and sorting viaSearchQueryBuilder.setSortingType(sortingType:). Currently, filtering by open time (open nowandopen at specific time) and sorting by relevance, by rating and by distance from current user location are implemented. - In
SearchQueryBuilderthere is an option to set the current location of the user for the search query viaSearchQueryBuilder.setLocation(locationPoint:). - The
GeoPointandGeoPointWithElevationclasses have added methodsbearing(point:),distance(point:)andmove(bearing:, meter:).
π Fixesβ
- 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.
- Removed the notification that you need to provide permission to search for and connect to devices on the local network. This notification was appearing when first installing the application with our MobileSDK and then initializing the map.
- Fixed a crash when running
MyLocationController. - Fixed a bug where cameras in
free roammode would sometimes be displayed without a miscalculation 2 km ahead in the driving direction.
βοΈ Changes affecting backward compatibilityβ
- Changed signature of methods
NavigationManager.startandNavigationManager.startSimulation. They now takeRouteBuildOptionstogether with the route. - The method
Geometry.hasIntersectionis renamed toGeometry.intersects. - The
ParkingPurposestate has been removed. Instead theParkingInfo.forTruckflag was added. - The function
toMapGeometry(route: TrafficRoute)was replaced by the functiontoMapGeometry(geometry: GeoPointRouteAttribute). - Removed the
BetterRouteInfo.durationfield. AddedBetterRouteInfo.trafficRouteandBetterRouteInfo.startPointinstead. - Added classes
RouteandTraffic. TheTrafficRoutenow has onlyrouteandtrafficproperties instead of the previous set of properties, through which you can get full information about the route. - Removed
BicycleRouteSearchOptionsandPedestrianRouteSearchOptions- carried over for future releases. - Renamed
RouteParamstoRouteEditorRouteParams.
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
TrafficScoreintoTrafficScoreProvider,TrafficScoreValueintoTrafficScore, removedTrafficManager-TrafficScoreProvideris created via constructor. - Fixed a crash when
GLContextwas not created when creating a map. Now in case of an error, an exceptionGLContextErrorappears. Need to be able to handle it. - Renamed the
LocaleManager.setOverridedLocalesmethod tooverrideLocales. - Removed getting the positioning queue via
IPositioningServicesFactory.positioningQueue. Now inside theILocationProviderprotocol implementation there is no need to callback through the queue. - Fixes and changes to custom camera controllers API - now there can be only one controller, added/removed by
Camera.setCustomFollowController/Camera.removeCustomFollowControllermethods.
πΊ Changes in map stylesβ
- In the styles editor on the tab
Dynamic objectsobject'sRadiusof geo-positioning accuracyshould use sub-layers_dvg_accuracy_circle` (if there are 2 more - it's ok, they were left for compatibility with the first version). - The layers
Speed camerain directoriesTransport 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 modeandTransport 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' andTransport events layer' for the new traffic events layer. - A catalog of layers
Parking bubbleswas added, as well as layersParking no-go zone for parking enabled layerandParking area for parking mode. These data are displayed only when the map has the attributeparkingOnset to true. - The
Parking Arealayer is now displayed when theparkingOnattribute of the map is absent or set to false.
v1.6.10β
Release Date: November 25, 2021
π Fixesβ
- Removed the notification about granting permission to search for and connect to devices on the local network. This notification would appear when first installing the app with our MobileSDK and then initializing the map.
- Now creating a map with size 0x0 is valid.
- Fixed a crash when running
MyLocationController.
v2.0.0-beta.8β
Release Date: November 22, 2021
π New featuresβ
- 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.
π Fixesβ
- Updated libcurl library. Moved to asynchronous DNS name resolution.
- Traffic events display in navigator.
- Removed navigation start delay.
- Incorrect value of
Model.statewhen 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.paddingwhen map size is small. - Now creating a map with size 0x0 is valid.
βοΈ Changes affecting backward compatibilityβ
- The
LocaleManager.setOverridedLocalesmethod has been renamed tooverrideLocales.
βοΈ Otherβ
- Requires styles to be reloaded from the editor. Fixes the display of railroads, and also fixes a crash in one of the scenarios.
v1.6.8β
Release Date: November 19, 2021
π New featuresβ
- Updated libcurl library. Moved to asynchronous DNS name resolution.
π Fixesβ
- Fixed crash in loading map tiles.
- Circle(
Circle) was flickering when moving.
βοΈ Otherβ
- Requires styles to be reloaded from the editor. Fixes the display of railroads, and also fixes a crash in one of the scenarios.
v2.0.0-beta.7β
Release Date: November 10, 2021
π New featuresβ
- Added captions to road event markers.
- Add road event card (
CreateRoadEventView). - Displaying a photo in the road event card.
- Button for deleting a road event in the card.
- Possibility to turn on/off the sounding of instructions, obstacles and road subtype -
SoundCategory.instructions,SoundCategory.obstacles,SoundCategory.roadSubtypes. - Send statistics about parameters of used maps - size, DPI, etc.
π Fixesβ
- Didn't 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.
- The circle(
Circle) was flickering while moving. - Removed the voiceover of speed bumps (it did not work before either - no such sounds, there was a blank instead).
v2.0.0-beta.6β
Release Date: October 29, 2021
π Fixesβ
- Getting photos of road events -
RoadEvent.photos. - Ability to create road events -
RoadEventManagerwith methodscreateAccident,createCameraetc. - Ability to delete a traffic event -
RoadEvent.removermethod. - Ability to perform actions with traffic 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 map size for camera position calculation functions - parameter
sizeforcalcPositionandzoomOutToFit. - Route settings
RouteMapObjectSource.routeSourceSettings,NavigationManager.routeSourceSettings, with which you can set parameters for displaying maneuver arrows. - Alouding of re-building the route in the navigator.
- Fixed the sounding of the grouped cameras; only the first priority one will be sounded.
- Indicator of loading on route realignment in Navigator UI.
- Fixed error in sending statistics when there were few events
MapSourcewith type2gis.online. - Fixed potential crashes in processing network requests.
- Detailed logging of network request information at
LogLevel.verboselevel. - Corrected the display of the 2GIS logo so that Xcode does not generate warnings.
- Fixed a crash in
IBatteryInfoProvider.
βοΈ Changes affecting backward compatibilityβ
- Fixed a crash where the
GLContextwas not created when the map was created. TheGLContextErrorexception now appears in case of an error.
v1.6.4β
Release Date: October 29, 2021
- Potential crashes in network request handling fixed.
v1.6.3β
Release Date: October 26, 2021
- New devices PPI screen definition.
- Fixed 2GIS logo size on the map.
- Fixed a bug when sending statistics, in which there were few
MapSourceevents with type2gis.online. - Fixed a crash when
MyLocationControllerwas running. - Fixed a crash when
GLContextwas not created when creating the map. Now just write errors to the log. - Fixed the display of the 2GIS logo so that Xcode will not generate warnings.
- Fixed crash in the
IBatteryInfoProvider.
v2.0.0-beta.5β
Release Date: October 21, 2021
π Fixesβ
- Fixed incorrect behavior of the close road event card button.
- Fixed an issue where artifacts would appear when hiding the lane control in
FreeRoammode. - Navigator controls are now hidden when reaching the finish point of the route.
- Fixed bug when downloading territories.
- Added processing of click on the road event on the route.
- Supported rendering cameras in FreeRoam mode when using the offline road graph source.
- Fixed a bug where cameras were not displayed when you first build a route.
- Fixed crash when
MyLocationControlleris 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.
βοΈ Changes affecting backward compatibilityβ
- Removed getting the positioning queue via
IPositioningServicesFactory.positioningQueueue. Now inside theILocationProviderprotocol implementation, there is no need to callback through the queue.
v2.0.0-beta.4β
Release Date: October 14, 2021
π Changesβ
- Corrections to the
RoadEventSourcetraffic event source. - Fixed suggestions for some queries.
- Added display of road events on the route.
- Added
IRoadEventCardViewto display event card. - All navigator controls become inactive while displaying notifications.
- Named exits, exit numbers for the current maneuver, next maneuver if it is closer than 50 meters to the main maneuver are now displayed.
- Ability to set the color of navigator controls through
NavigationViewOptions.theme. - Route retrieval in navigator, if previous attempt was unsuccessful.
- Capability to get from the navigator's model the current geo-position with which the navigator is working -
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 route search parameters in
TruckRouteSearchOptions.
βοΈ Changes affecting backward compatibilityβ
- Fixes and changes to custom camera controllers API - now there can be only one controller, added/removed by
Camera.setCustomFollowController/Camera.removeCustomFollowControllermethods. Model.routeInforenamed toModel.route,Model.currentRoutePositiontoModel.routePosition, instead ofModel.badLocationnow the oppositeModel.locationAvailable, instead ofModel.currentSpeedChannelnowModel.locationChannel.groundSpeed.
πΊ Changes in map stylesβ
- 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".
v2.0.0-beta.3β
Release Date: October 7, 2021
- Displaying of the traffic events on the map (not tied to a specific route) -
RoadEventSource,RoadEvent. - 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 cabs 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.
- Navigator UI localized in Russian and English.
- Changes affecting backward compatibility in navigator's API Information about the route -
RoadTypeInfo,TransportTypeInfo,RoadSurfaceInfo,SpeedLimitInfo,RoadNameInfo,TollInfo- is now located inRouteInfoin the form of lists, the current value can be obtained from them, referring to the appropriate index inModel-Model.roadTypeIndex,Model.transportTypeIndex, etc. - Definition of PPI screen of new devices.
- Changes in map styles:
- Change affecting backward compatibility There are new layers in the "Transport Events on Route in Maintain Mode" and "Transport Events on Route" directories. Add them to your styles to continue to display cameras on the route, 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.
v2.0.0-beta.2β
Release Date: September 28, 2021
- Fixed race in
RouteMapObject, which could cause it to display incorrectly. - Added mapping and voicing of new camera types on the map.
- Added property
Camera.size- view area size in pixels. - Changes in navigator's API:
- The
Model.maneuverInstructionIndexproperty has been renamed toinstructionIndex. - For information on navigator instructions,
RouteInfo.instructionsis used, the maneuver name from which can be obtained usinggetInstructionManeuverfunction.
- The
- Fixed tracking of geoposition when using navigator with several maps at the same time.
- Removed unnecessary transition of
ModelintoState.DISABLEDstate when re-searching a route.
v1.6.2β
Release Date: September 23, 2021
- Fixed problems that occurred after refinement of moving markers without text - static markers without text worked slowly and transparency was not set for markers without text.
- Updated the size of the 2GIS logo on the map.
- Fixed an issue where when setting the slope angle when creating a map, the slope angle was reset whenever the map was changed.
v2.0.0-beta.1.2β
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.
v1.6.0β
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.
v2.0.0-beta.1β
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, without it the markers will not be displayed. - Changed clustering logic - the center of masses of subclusters of previous level is taken as the center of cluster.
- Fixed a bug when in the clustering mode, when deleting a marker, adjacent nearby markers were deleted.
- Fixed
SuggestQueryBuilder.setSuggestorType- previously this option did not affect the result. - Added properties
TrafficRoute.startPoint,TrafficRoute.finishPoint- start and end points of the route. - Added zoom control settings for navigator -
NavigationManager.zoomFollowSettings. - Added settings of traffic data update in the navigator -
NavigationManager.trafficSettings. - Added
AudioOptionsandIAudioSettingsfor sound settings. It is possible to adjust the muting of sounds of third-party applications in the navigator and the volume level during playback. - The tracking control in the navigator is
NavigatorFollowingControl. - The
BetterRouteControlViewgoes to the minimized state when there is no interaction with it.
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
TrafficScoreinTrafficScoreProvider,TrafficScoreValueinTrafficScore,TrafficManagerwas removed -TrafficScoreProvideris created through the constructor. - Changed the basic styles. In the styles editor on the tab
Dynamic Objectsobjects geopositioning accuracy radiusshould use sublayers_dvg_accuracy_circle(if there are 2 more - it's okay, they were left for compatibility with the first version).
v1.5.0β
Release Date: September 6, 2021
- Fixed problem with freeing memory after deleting
MapView. - Fixed a problem with changing marker icons via
Marker.icon, which would render a blank icon before a new loaded image would appear. Now before the new image is loaded the old one is displayed. - Improved drawing of overlaps on the road over traffic jams.
- Implemented the traffic control
TrafficControlfor the rendering of traffic jams on the map and the display of the traffic jam score. You can get the control object usingIMapControlFactory.makeTrafficControl. - Fixed
Mobile SDKcrash oniOS 15 betawhen the app was in minimized state.
v2.0.0-alpha.8β
Release Date: September 3, 2021
- Navigator will change map zoom level automatically depending on speed (no setting yet).
- Fixed display of traffic jams on map at maximum zoom levels.
- Fixed a problem with changing marker icons via the
Marker.icon, which caused a blank icon to be displayed before a new loaded image. Now, before the new image is loaded, the old one is displayed. - Reworked the calculation of the camera coverage on the route.
- Fixed a bug where the position tracking is not enabled immediately when starting navigation.
- Supported different modes of navigator in base UI, such as
RouteSearch,Finished,Disabled. - Improved drawing of overlaps on the road over traffic jams.
- Implemented
TrafficControlcontrol to enable the display of traffic jams on the map and the display of the traffic jam score. You can get the controller object usingIMapControlFactory.makeTrafficControl. - Change affecting backward compatibility. The
RouteSearchOptionsclass has been replaced by a variant which can contain one of the specific classes -CarRouteSearchOptions,PedestrianRouteSearchOptions,BicycleRouteSearchOptions,PublicTransportRouteSearchOptionsorTruckRouteSearchOptions. - Change affecting backward compatibility. The enum
RoutingTypehas been removed. It should useRouteSearchOptionsinstead. - Change affecting backward compatibility. The
NavigationManager.uiModelclass has had itsdistanceCountersChannelremoved. Instead it should now usecurrentRoutePositionChannelto calculate the remaining distance to the nearest maneuver or to the end of the route. The classesDistanceCountersandHumpPointhave been removed. Added classIntermediatePointdescribing an intermediate point on the route. Information about the current position on the route is contained in a new classRoutePosition. - Change affecting backward compatibility. Removed class
TrafficManager. ClassTrafficScoreis renamed intoTrafficScoreProviderand becomes the main class for working with traffic jams. The classTrafficScoreValueis renamed toTrafficScore. - Change affecting backward compatibility. The basic styles have changed. In the styles editor on the tab
Dynamic objectsobjectsRadius of geopositioning accuracymust uses_dvg_accuracy_circle` sublayer (if there are 2 more - it's ok, they were left for compatibility with the first version).
v2.0.0-alpha.7β
Release Date: August 26, 2021
- Fixed an issue where
MapObjectManager.removeObjectwould not work if attributes of the object being removed were changed in parallel. - Improved the clustering generated through
MapObjectManager.withClustering. Now when deleting markers fromMapObjectManager, the cluster position is corrected if the cluster-forming marker was deleted. - The
CameraPositionPointis now taken into account when calculating theCameraPositionwith thecalcPositionfunction. - 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:
- At
Marker on autoandMarker on auto, outdated positionin the itemVisibilitytoggle switchNavigator modeand select the itemOn. - At
Marker with direction,Marker without directionandMarker without direction, obsolete positionin the itemVisibilityput the toggle switchNavigator modeand select the itemOff.
- At
- Fixed freezing in
TrafficSource. - Fixes in attraction to route in Free Roam mode.
v1.4.0β
Release Date: August 24, 2021
- Fixed an issue where
MapObjectManager.removeObjectwould not work if attributes of the object being removed were changed in parallel. - Improved the clustering generated through
MapObjectManager.withClustering. Now when deleting markers fromMapObjectManager, the cluster position is corrected if the cluster-forming marker was deleted. - The
CameraPositionPointis now taken into account when calculating theCameraPositionwith thecalcPositionfunction. - 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:
- At
Marker on autoandMarker on auto, outdated positionin the itemVisibilitytoggle switchNavigator modeand select the itemOn. - At
Directional marker,Directionless markerandDirectional marker, obsolete positionin the itemVisibilityset the switchNavigator modeand select the itemOff.
- At
v2.0.0-alpha.6β
Release Date: August 13, 2021
- Added the ability to customize the pedestrian voice of the route when navigating.
- Added
navigationManager.uiModelchannelnavigationActiveChannel, which returns two states -activeandinactive. 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
MapObjectManagerin 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.
- Added support for `Map.interactive' for map and copywriting gestures.
- Fixed a bug where a memory leak appeared if the map became invisible, but the application code kept working with it (changing current objects on the map, adding new ones, etc.).
v1.3.0β
Release Date: August 12, 2021
- Fixed crash when changing marker position and re-initializing
MapObjectManagerin 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.
- Added support for `Map.interactive' for map and copywriting gestures.
- Fixed bug, which caused memory leak if map became invisible, but application code kept working with it (changing current objects on the map, adding new ones, etc.).
v2.0.0-alpha.5β
Release Date: August 6, 2021
- Fixed an issue in the navigator where navigation mode would have long refreshes, and the position marker would have an incorrect direction and shift to a random position.
- The
MapObjectManagermethodclusteringObjects(withameraPosition:)appeared to get clustering objects for a given camera position. The method returns bothSimpleClusterObjectclusters andMarkermarkers. - Using the
SimpleClusterObjectobject, you can now change the cluster attributes in the same way as the attributes of theMarkermarkers, except for the cluster position. - Fixed a bug where
IMapViewwould not work if theIMapFactorythat created it was destroyed. Now there is no need to always store theIMapFactoryobject. - Fixed an issue where it was impossible to select a route at maximum zoom levels.
- Removed freezing of tracking the current position when changing the animation duration in the navigator.
v1.2.0β
Release Date: August 5, 2021
- The
MapObjectManagermethodclusteringObjects(cameraPosition:)appeared to get clustering objects for a given camera position. The method returns bothSimpleClusterObjectclusters andMarkermarkers. - Using the
SimpleClusterObjectobject, you can now change the cluster attributes in the same way as the attributes of theMarkermarkers, except for the cluster position. - Fixed a bug where
IMapViewwould not work if theIMapFactorythat created it was destroyed. Now there is no need to always keep theIMapFactoryobject.
v2.0.0-alpha.4β
Release Date: July 28, 2021
- In the
RouteMapObjectclass, thecalloutPositionChannelwith the position of the babble over the route has been added. - In the structure
Camera, which returnsNavigationManager, added a fieldrange- information about the range of the camera. - The voice of the navigator depending on the type of route - pedestrian/bicycle/vehicle - has been divided.
v1.1.0β
Release Date: July 28, 2021
-
Fixed a bug with
MapObjectManageradding a marker to the map before the image is fully loaded. -
Added new protocol
IEnergyConsumptionto set max fps in normal and power saving mode. -
Fixed a bug where the map would not update when removing markers during clustering via `MapObjectManager'.
-
Fixed an issue where my location marker would rotate in the opposite direction.
-
Partially fixed memory leak problem with frequent geometry updates at map objects (e.g. changing points at a polyline every 10ms). Full fix will be in next releases.
-
Updated common styles:
-
Moved to editor:
A. Maneuver Arrows (Route Line 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 pointsin theDynamic objectsdirectory).C. Search markers (layers
Search marker selection',Search marker',Generalized marker' in theDynamic objects' catalog).D. Objects on the route (layers in the directories
TUGC on the route in guidance modeandTUGC on the route).E. Pedestrian parts of routes (layers in the directories
TUGC route line in guided mode' andTUGC route line').F. Geo-position marker for pedestrian mode (layers
Marker with direction,Marker without direction,Old marker without directionin theDynamic objectscatalog).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+Cand open in the same window another style. -
The `Marker Footer' layer has been removed. It should also be removed in its own styles.
-
Changed layers for displaying entrances (layers
Elevations above housesandElevations below houses). Now the data are not set via JSON, and selected the correct layers in the tabData. 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. -
Added layers
Signatures of mountain rangesandSignatures of platformsto the directorySignatures of geo objectsin the night theme and layerGraffitiin the directorySightseeing sights. -
Added layers
Christmas bazaar,Police,Shower stall,Tanzpolto the daytime theme in the `Sightseeing' catalog. -
Changed the layers in the directory
Roads, requires them to update their own styles.
-
v2.0.0-alpha.3β
Release Date: July 23, 2021
-
Fixed a problem with guidance on a long route: the update of the geoposition marker and the whole map was not smoothly, but jerks.
-
Fixed an issue with
MapObjectManageradding marker to the map before the image is fully loaded. -
Added new protocol
IEnergyConsumptionto set max fps in normal and power saving mode. -
Fixed a bug where the map would not update when removing markers during clustering via
MapObjectManager. -
Fixed a bug where my location marker would rotate in the opposite direction.
-
Updated common styles:
-
Moved to the editor:
A. Maneuver Arrows (Route Line 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 pointsin theDynamic objectsdirectory).C. Search markers (layers
Search marker selection',Search marker',Generalized marker' in theDynamic objects' catalog).D. Objects on the route (layers in the directories
TUGC on the route in guidance modeandTUGC on the route).E. Pedestrian parts of routes (layers in the directories
TUGC route line in guided mode' andTUGC route line').F. Geo-position marker for pedestrian mode (layers
Marker with direction,Marker without direction,Old marker without directionin theDynamic objectscatalog).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+Cand open in the same window another style. -
The
Walker Markerlayer has been deleted. It also needs to be removed in its own styles. -
Changed layers for displaying entrances (layers
Entrances above housesandEntrances below houses). Now the data are not set via JSON, but the correct layers are selected in the tabData. 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. -
Added layers
Signatures of mountain rangesandSignatures of platformsto the directorySignatures of geo objectsin the night theme and layerGraffitiin the directorySightseeing sights. -
Added layers
Christmas bazaar,Police,Shower stall,Tanzpolto the daytime theme in the `Sightseeing' catalog. -
Changed the layers in the directory
Roads, requires them to update their own styles.
-
v2.0.0-alpha.2β
Release Date: July 13, 2021
- Added support for pedestrian routes with type
RoutingType.Pedestrian. TheRouteInfoclass has an array with a description of all obstacles on a pedestrian routeRouteInfo.pedestrianObstacles. - Added support for routes on public transport with type
RoutingType.Public. - Implemented an interface
TerritoryManagerfor downloading offline territories. - Added
NavigationVoiceandVoiceSelectorto select the voice and voice of the navigator. - Implemented
VoiceManagerfor interaction with the list of the navigator's voice packages. - Implemented the basic functionality of managing floor plans through
Map.indoorManager. - Added ability to get and set
zIndexforSimpleMapObjectobjects. - Added ability to specify which parts of the route are displayed on the map through
RouteMapObject.displayFlags. - The
getLanesControlImagesfunction is now available to get a list of lane icons supplied with the SDK. - Updated the copyright logo on the map.
- Updated location marker in navigator when going off route.
- Change affecting backward compatibility. In class
RouteInfofor route description now added whole TrafficRoute instead of route length.
v1.0.1β
Release Date: July 8, 2021
π First public release!π
-
Change affecting backward compatibility. Changed package names -
PlatformSDKandPlatformMapSDKrenamed toDGisregardless of build type. -
Reduced size of Map-version of SDK - removed work with offline directory and map data source.
For Map-version only
makeOnlineManagermethod for creating online gazetteer remained inISearchManagerFactoryandmakeOfflineManagerandmakeSmartManagerare now available only in Full-version.For the Map-version, the
createOfflineDGISSourcemethod for creating offline map data source is removed inISourceFactory. -
In
MapObjectManageryou can now enable clustering mode forMarkerobjects.To initialize clustering, you need to create a
MapObjectManagerobject usingMapObjectManager.withClustering(map:logicalPixel:maxZoom:clusterRenderer:).The fourth parameter is a custom implementation of the
ISimpleClusterRendererprotocol to customize the rendering of clusters on the map. The customization itself is based on theSimpleClusterOptionsobject which is returned by calling theISimpleClusterRenderer.renderClusterfunction. -
With
TextStyle.textPlacementandTextStyle.textOffsetit is now possible to set the position of the caption relative to the marker. -
Added ability to set camera tilt angle depending on scale -
ZoomToTiltRelation,Camera.zoomToTiltRelation. -
In
LogOptionsit became possible to set a custom logging handler. To do this, you need to implement theILogSinkprotocol and pass an object toLogOptions.customSink. -
Logging change: The
toMapGeometry(trafficRoute:currentRoutePoint:)function has been renamed toremainingRouteGeometry(trafficRoute:currentRoutePoint:)to get the geometry of the rest of the route. -
Optimized handling of network connections.
v0.16.1β
Release Date: June 7, 2021
- Map default stylesheet updated - corrected size of lettering and icons.
v0.16.0β
Release Date: June 2, 2021
-
When creating map objects it is now possible to set their rendering order with
MarkerOptions.zIndex,PolygonOptions.zIndexetc. The index value affects the priority of the object when the elements are overlaid on the map. -
Simplifying the creation of simple data types:
Arcdegree,Color,Elevation,GeoPoint,GeoPointWithElevation,LogicalPixel,Meter,TiltandZoom.For example, previously when creating an object of type
GeoPointit was necessary to construct objects of typeArcdegree.let geoPoint = GeoPoint(latitude: Arcdegree(value: 54.0), longitude: Arcdegree(value: 32.0))Initialization of
GeoPointis now available from a pair ofCLLocationDegreesvalues.let geoPoint = GeoPoint(latitude: 54.0, longitude: 32.0). -
Added the ability to set a list of locales bypassing the system settings with
LocaleManager.setOverridedLocales. To return to system locales, an empty list must be passed to theLocaleManager.setOverridedLocalesmethod. -
Added function
toMapGeometry(trafficRoute:currentRoutePoint:)to get the geometry of the rest of the route. -
Fixed the map display when the z-level is zero.
-
Added ability to disable animation when objects appear or disappear on the map via
MarkerOptions.animatedAppearanceandMarker.setAnimatedAppearance. -
Supported setting of correct DPI when creating a map. Now, besides DPI setting via
MapOptions.devicePPIit is possible to setMapOptions.deviceDensity- a multiplier equal to the number of physical pixels of device in one logical point of screen coordinate system. Because deviceDensity was not set, objects on the map at different z-levels had incorrect sizes.For example, for a given screen (
UIScreen) this multiplier is equal to the value ofnativeScale. By default, thenativeScaleof the main screen is taken. -
Change affecting backward compatibility. Removed the obsolete
MarkerBuilderclass for creating map objects. Instead, use classMapObjectManagerto add objects; constructorsMarker,Polygonetc. to create them.
v0.15.0β
Release Date: May 25, 2021
-
Added the ability to check for the intersection of geometries -
Geometry.hasIntersection. -
Added
autoUseFirstResultattribute toSearchResult, which indicates that the first element in the search result is the most suitable for the flight or building a route to it. -
Fixed a bug in the network caching mechanism, leading to slow writing of network responses to the device file system.
-
Change affecting backward compatibility. Changed the `MapObjectManager' interface.
Map objects are now created through the constructors
Marker,Polygonetc. instead ofMapObjectManager.addMarkerorMapObjectManager.addPolygon.To add or remove map objects, you must now use the
MapObjectManager.addObjects/addObjects/removeObjectsetc. methods. When adding multiple objects, it is most effective to useMapObjectManager.addObjects. -
Change affecting backward compatibility. Changed the order of the parameters of the
calcPositionandzoomOutToFitfunctions. -
Change affecting backward compatibility. The data collection service setting
DataCollectStatushas been renamed toPersonalDataCollectionConsent. -
Change affecting backward compatibility. In the
Containerconstructor, thedataCollectStatusparameter has also been renamed topersonalDataCollectionConsent.
v0.14.0β
Release Date: May 5, 2021
-
Fixed a bug when adding a marker to the map through the
MapObjectManager.By default, the marker was pointing north. This was causing its rotation angle to depend on the rotation angle of the map.
Now the marker is pointing toward the top of the device screen regardless of map rotation.
-
Change affecting backward compatibility. The original marker rotation (
MarkerOptions.iconMapDirection) and the existing marker rotation (Marker.iconMapDirection) now have a null type ofMapDirection.A null value means that the marker will point to the top of the device screen regardless of the map rotation.
v0.13.0β
Release Date: April 30, 2021
- Added possibility to set marker rotation. Initial rotation -
MarkerOptions.iconMapDirection; rotation of existing marker -Marker.iconMapDirection. - The copyright on the map does not show the SDK version by default. To enable, you must set
MapView.showsAPIVersiontotrue. - Added ability to get camera locations and directions in navigator:
Camera.geoPoint,Camera.bearing. - Added ability to set location point (
positionPoint) incalcPositionandzoomOutToFitfunctions. - Change affecting backward compatibility. Many object creation functions have been replaced by initializers of the appropriate type.
For example:
createMapObjectManagerβMapObjectManager.init;Geometry.createPointβPointGeometry.init, etc.
v0.12.2β
Release Date: April 24, 2021
- Fixed parameters when collecting statistics.
v0.12.1β
Release Date: April 23, 2021
- Fixed the map display on different scales.
- Fixed the mechanism of statistics gathering.
- Fixed an issue with markers displacing each other at different scales.
- Set the minimum value of the zoom level to 2.
v0.12β
Release Date: April 22, 2021
-
Fixed potential crash when passing
MapOptionswith non-zerostyleFutureInContainer.makeMapFactory(options:). -
Fixed a potential crash when destroying map objects (
IMapFactory). -
Fixed a single object leak when completely destroying the SDK container.
-
Improved handling of
CLLocationobjects inILocationProviderprotocol implementations.Previously, if a location contained both valid and invalid components (e.g., there were geo-coordinates but no velocity), the object was ignored as a whole. This was accompanied by the
Platform sent an invalid locationmessage in the log.Now in this case the correct components are taken into account. The message is written when, when a completely invalid location is sent to the SDK.
-
Added auto-detection of map PPI based on head unit model. See
DevicePpi.autodetected. Default map settings (MapOptions.default) use this PPI; in case of unsupported device is set toDevicePpi.defaultForFailedAutodetection. -
The
DevicePpitype now implements theExpressibleByFloatLiteralprotocol. -
Added ability to set map theme and enable auto-switching theme on iOS 13.
The new
Themetype corresponds to a theme within a style. The newMapAppearancetype specifies set of themes and how to apply them:.universalfor a fixed theme;.automaticfor auto-switching between light and dark theme on iOS 13.The theme setting can be set in
MapOptions.appearancewhen creating map by callingContainer.makeMapFactory(options:). Subsequent switching is available by setting theIMapView.appearanceproperty. -
Change affecting backward compatibility. Type
MapOptions.devicePpichanged fromCGFloat?toDevicePpi?in order to improve documentation. -
Added collection of anonymous usage statistics. Enabled by default. See the
dataCollectionOptionsparameter ofContainer.init. It's recommended to disable only in case of explicit user choice (e.g., GDPR waiver).
v0.11β
Release Date: April 15, 2021
- Manage and retrieve information about HTTP cache -
HttpCacheManager. - The non-static properties of most structures are made modifiable (i.e.
letβvar). - Information about route lanes -
RouteInfo.laneSigns. - Removed thin black border at map objects when it is not set.
- The
ScreenPoint,ScreenSize,ScreenShifttypes implementEquatableandHashable. - Added constructors
ScreenPoint(_: CGPoint),ScreenSize(_: CGSize),ScreenShift(_: CGVector). - Change affecting backward compatibility
TextStyle.fontSize,TextStyle.strokeWidthare of typeLogicalPixel, notFloat. - Change affecting backward compatibility In the navigator model: instead of
Model.laneSignnowModel.laneSignIndex.LaneSigncan be obtained by this index fromRouteInfo.laneSigns. - Change affecting backward compatibility A method for creating a custom gesture processing layer takes fewer parameters:
IMapGestureViewFactory.makeGestureView(map:coordinateSpace:). Removed theeventProcessorparameter: theMap.processEventmethod should be used instead.
v0.10β
Release Date: April 7, 2021
- Added a tool to get the last rendered map frame as an image -
IMapFactory.snapshotter.makeImage(). removeSourceno longer throws an exception. Even if the source has not been added to the map.- Added a polyline with a gradient.
- Creation of a custom gesture recognition layer is now possible during map initialization, see
gestureViewFactorybyMapOptions. - Change affecting backward compatibility have changed the type device associated with the map. The map must now be created by calling
Container.makeMapFactory(options:) -> IMapFactory. The map controllermap, map viewmapViewand other things are available from it. - Change affecting backward compatibility updated the GeoRect class.
- Change affecting backward compatibility we've changed the format for dealing with subscriptions to property changes. Previously fields like
Map.camera.positionwere of typeStatefulChannel. Before, we used to get notifications of property value changes throughcamera.position.sink(receiveValue:), and the current value throughcamera.position.value. Such an API caused difficulties and was less efficient, so in the new version, for example,camera.positionis just a property of typeCameraPosition; andcamera.positionChannelisStatefulChannel<CameraPosition>. This change is in effect for all properties previously of typeStatefulChannel.
v0.9β
Release Date: March 24, 2021
- Added the ability to draw dashed line.
- Opacity for Marker.
- Converters for working with Style Zoom(
projectionZToStyleZ,styleZToProjectionZ). - New type
AttributeValuewas added to handle map attributes. - From
DgisMapObjectyou can no longer get Future on a directory object. You need to use SearchManager. - HTTP client settings: wait time, presence and size of disk cache.
- Possibility to set custom implementations of geopositioning services or disable them (e.g. for simulator).
v0.8β
Release Date: March 17, 2021
- Added cache for tiles on the map. Configurable cache size will appear in next release.
- Padding on the map.
- Added ability to change current geometry for Polygon/Polyline objects.
- Added a source for raster tiles (see
createRasterTileData,createRasterTileDataSource). - Supported the theme attribute for map stylesheets unloaded from the editor.