Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[7.1.24.38.4443F8E9] - 2024-09-16

Added

  • New methods available in MapViewController.h:

    (void)setCompassInsets:(UIEdgeInsets)insets

  • New methods available in MapViewPreferencesContext.h:

    (void)setMapLabelsContinuousRendering:(BOOL)status

    (BOOL)getMapLabelsContinuousRendering

    (BOOL)getDisableFastLoading

    (void)setDisableFastLoading:(BOOL)status

  • New methods available in MarkerObject.h:

    (instancetype)initWithCircleCenter:(nonnull CoordinatesObject*)coordinates radius:(int)radius

    (instancetype)initWithRectangleShapeCenter:(nonnull CoordinatesObject *)coordinates horizRadius:(int)horizRadius vertRadius:(int)vertRadius

    (instancetype)initWithRectangleFirstCorner:(nonnull CoordinatesObject *)corner1 secondCorner:(nonnull CoordinatesObject*)corner2

  • New methods available in TimeDistanceCoordinatesObject.h:

    (nonnull CoordinatesObject *)getCoordinates

    (int)getDistance

    (int)getTimestamp

[7.1.24.20.093088C8] - 2024-05-27

Added

  • New methods available in MapViewController.h:

    (BOOL)hasTerrainTopography

    (double)getAltitude:(nonnull CoordinatesObject *)location;

    (void)setWatermarkText:(nonnull NSString *)line1 line2:(nonnull NSString *)line2

  • New methods available in MapViewControllerDelegate.h

    (void)mapViewController:(nonnull MapViewController *)mapViewController didTapCompass:(FollowPositionMapRotationMode)mode

  • New methods available in GEMKit.MapBase:

    func mapCompassSize(_ size: CoreFoundation.CGFloat) -> GEMKit.MapBase

    func mapUserInteraction(_ state: Swift.Bool) -> GEMKit.MapBase

    func didTapCompass(_ action: @escaping (_ mode: GEMKit.FollowPositionMapRotationMode) -> Swift.Void) -> GEMKit.MapBase

    func onConnectedStatusUpdated(_ action: @escaping (_ connected: Swift.Bool) -> Swift.Void) -> GEMKit.MapBase

    func onWorldwideRoadMapSupportEnabled(_ action: @escaping () -> Swift.Void) -> GEMKit.MapBase

    func onWorldwideRoadMapSupportDisabled(_ action: @escaping (_ reason: GEMKit.ReasonType) -> Swift.Void) -> GEMKit.MapBase

    func onWorldwideRoadMapUpdateStarted(_ action: @escaping () -> Swift.Void) -> GEMKit.MapBase

    func onWorldwideRoadMapUpdateFinished(_ action: @escaping (_ success: Swift.Bool) -> Swift.Void) -> GEMKit.MapBase

  • New methods available in GEMKit.MapProxy:

    func setPositionTrackerVisibility(_ visibility: Swift.Bool)

    func setPositionTrackerScaleFactor(_ factor: Swift.Double)

[7.1.24.20.8B92211B] - 2024-05-15

Fixed

  • Fix related to route simulation

[7.1.24.20.5A74CA04] - 2024-05-14

Added

  • New methods available in DataSourceContext.h:

    (nonnull NSString*)getLogPath

  • New methods available in DriverAssistanceContext.h:

    (instancetype)initWithContext:(nonnull DataSourceContext *)context tuningParameters:(nullable MagicADASTuningParameters *)tuningParameters

  • GEMKit for SwiftUI new APIs: MapBase, MapReader, MapProvider and MapCoordinator.

[7.1.24.17.D3970963] - 2024-04-23

Added

  • New methods available in GEMSdk.h:

    (nullable NSData *)compress:(nonnull NSData *)data

    (nullable NSData *)uncompress:(nonnull NSData *)data

    (BOOL)isLogSilent

  • New methods available in NavigationInstructionObject.h:

    (void)presentRoutes:(nonnull NSArray<RouteObject *> *)array withTraffic:(nullable TrafficContext *)trafficContext showSummary:(BOOL)summary displayMode:(RouteDisplayMode)mode animationDuration:(NSTimeInterval)duration completionHandler:(nonnull void(^)(BOOL success))handler

    (void)centerOnRoutes:(nonnull NSArray<RouteObject *> *)array displayMode:(RouteDisplayMode)mode rectangle:(CGRect)rect animationDuration:(NSTimeInterval)duration completionHandler:(nonnull void(^)(BOOL success))handler

    (SDKErrorCode)generateRouteGeometry:(nonnull NSData *)data routeRenderSettings:(MarkerObjectRenderSettings)renderSettings connectionsRenderSettings:(MarkerObjectRenderSettings)connectionsSettings

    (void)removeRouteGeometry

    (SDKErrorCode)generateNavigationInstructionGeometry:(nonnull NSData *)data renderSettings:(MarkerObjectRenderSettings)renderSettings

    (void)removeNavigationInstructionGeometry

  • New methods available in NavigationInstructionObject.h:

(float)getBatterySoC

(nullable NSData *)exportAs:(PathFileFormat)format withCompresion:(BOOL)compressed

  • New methods available in RoutePreferencesObject.h:

    (void)setBuildConnections:(BOOL)state maxLengthM:(int)maxLengthM

    (BOOL)getBuildConnections

    (int)getBuildConnectionsMaxLength

  • New methods available in SwiftUI.MapView:

    func present(highlights: [GEMKit.LandmarkObject], settings: GEMKit.HighlightRenderSettings, highlightId: Swift.Int = 0, duration: Swift.Double = -1, action: ((_ finished: Swift.Bool) -> Swift.Void)? = nil)

    func remove(highlightId: Swift.Int)

    func removeAllHighlights()

    func present(routes: [GEMKit.RouteObject], bubbleSummary: Swift.Bool = false, trafficContext: GEMKit.TrafficContext? = nil, displayMode: GEMKit.RouteDisplayMode = .full, duration: Swift.Double = -1, action: ((_ finished: Swift.Bool) -> Swift.Void)? = nil)

    func remove(routes: [GEMKit.RouteObject])

    func removeAllRoutes()

    func centerOn(routes: [GEMKit.RouteObject], displayMode: GEMKit.RouteDisplayMode = .full, rectangle: CoreFoundation.CGRect = CGRect.zero, duration: Swift.Double = 0, action: ((_ finished: Swift.Bool) -> Swift.Void)? = nil)

    func setMain(route: GEMKit.RouteObject)

    func isMain(route: GEMKit.RouteObject) -> Swift.Bool

    func getMainRoute() -> GEMKit.RouteObject?

Fixed

  • Xcode Preview crash for MapView.

[7.1.24.16.F295FF8E] - 2024-04-16

Added

  • GEMKit for SwiftUI is now available.

Changed

  • New methods available in MapViewController.h:

    (void)centerOnCoordinates:(nonnull CoordinatesObject *)location zoomLevel:(int)level point:(CGPoint)point mapAngle:(double)mapAngle viewAngle:(double)viewAngle animationDuration:(NSTimeInterval)duration completionHandler:(nonnull void(^)(BOOL finished))handler

    (void)addMarker:(nonnull MarkerCollectionObject *)markerCollection renderSettings:(MarkerCollectionObjectRenderSettings)renderSettings animationDuration:(NSTimeInterval)duration completionHandler:(nonnull void(^)(BOOL finished))handler

    (void)presentHighlights:(nonnull NSArray<LandmarkObject *> *)highlights settings:(nonnull HighlightRenderSettings *)settings highlightId:(int)highlightId animationDuration:(NSTimeInterval)duration completionHandler:(nonnull void(^)(BOOL finished))handler

  • New methods available in MapViewControllerDelegate.h

    (void)mapViewController:(nonnull MapViewController *)mapViewController didSelectLandmarks:(nonnull NSArray <LandmarkObject *> *)landmarks onTouchPoint:(CGPoint)point

    (void)mapViewController:(nonnull MapViewController *)mapViewController didSelectLandmarks:(nonnull NSArray <LandmarkObject *> *)landmarks onLongTouchPoint:(CGPoint)point

    (void)mapViewController:(nonnull MapViewController *)mapViewController didSelectRoutes:(nonnull NSArray<RouteObject *> *)routes onTouchPoint:(CGPoint)point

    (void)mapViewController:(nonnull MapViewController *)mapViewController didSelectOverlays:(nonnull NSArray<OverlayItemObject *> *)overlays onTouchPoint:(CGPoint)point

    (void)mapViewController:(nonnull MapViewController *)mapViewController didSelectOverlays:(nonnull NSArray<OverlayItemObject *> *)overlays onLongTouchPoint:(CGPoint)point

    (void)mapViewController:(nonnull MapViewController *)mapViewController didSelectTrafficEvents:(nonnull NSArray<TrafficEventObject *> *)events onTouchPoint:(CGPoint)point

    (void)mapViewController:(nonnull MapViewController *)mapViewController didSelectTrafficEvents:(nonnull NSArray<TrafficEventObject *> *)events onLongTouchPoint:(CGPoint)point

  • New methods available in RouteInstructionObject.h:

    (BOOL)hasRoadInfo

    (nonnull NSArray <RoadInfoObject *> *)getRoadInfo

    (nullable UIImage*)getRoadInfoImage:(CGSize)size

[7.1.24.13.6FE96C8C] - 2024-04-02

Changed

  • SDK contains now Privacy Nutrition Label.

  • New methods available in CameraRenderViewController.h:

    (void)renderWithMagicADAS:(nullable MagicADASContext*)context

  • New method available in ContentStoreObject.h:

    (void)downloadWithAllowCellularNetwork:(BOOL)allowCellularNetwork progressHandler:(nonnull void(^)(int progress))progressHandler priority:(ContentDownloadThreadPriority)priority completionHandler:(nonnull void(^)(BOOL success))completionHandler

  • New methods available in DataSourceContext.h:

    (nullable instancetype)initDummyPlayback

    (nullable instancetype)initWithFilePath:(nonnull NSString *)filePath

    (nullable instancetype)initWithRoute:(nonnull RouteObject *)route

    (nullable instancetype)initWithExternalSource:(nonnull DataSourceContext *)dataSource

    (nullable instancetype)initWithExternalDataTypes:(nonnull NSArray < NSNumber *> *)dataTypes

    (nonnull NSString*)getDataTypeDescription:(DataType)type

    (nonnull NSArray <NSNumber *> *)getAvailableDataTypes

    (nullable DataObject *)getLatestData:(DataType)type

    (void)stopDelegateNotifications

    (BOOL)pushData:(nonnull DataObject *)dataObject

  • New methods available in DataSourceContextDelegate.h:

    (void)dataSourceContext:(nonnull DataSourceContext *)dataSourceContext onNewData:(nonnull DataObject *)dataObject

  • New methods available in DriverAssistanceContext.h:

    (SDKErrorCode)createSensorDataLoggerWithSecondsToKeep:(int)secondsToKeep recordCameraFrames:(BOOL)recordCameraFrames

    (SDKErrorCode)saveSensorDataLog:(NSString *)outputDir logName:(NSString *)logName

  • New methods available in FollowPositionPreferencesContext.h:

    (void)setTouchHandlerModifyHorizontalAngleLimits:(nonnull NSArray <NSNumber *> *)horizAngleLimits

    (nonnull NSArray <NSNumber *> *)getTouchHandlerModifyHorizontalAngleLimits

    (void)setTouchHandlerModifyVerticalAngleLimits:(nonnull NSArray <NSNumber *> *)horizAngleLimits

    (nonnull NSArray <NSNumber *> *)getTouchHandlerModifyVerticalAngleLimits

    (void)setTouchHandlerModifyDistanceLimits:(nonnull NSArray <NSNumber *> *)horizAngleLimits

    (nonnull NSArray <NSNumber *> *)getTouchHandlerModifyDistanceLimits

  • New methods available in GEMSdk.h:

    (BOOL)initCoreSdk:(NSString*)authorizationKey

    (SDKErrorCode)initCoreSdk:(nonnull NSString *)authorizationKey language:(nonnull NSString *)language completionHandler:( void(^)(SDKErrorCode) )handler

    (void)setMapLanguage:(MapLanguageType)type

    (MapLanguageType)getMapLanguage

  • New methods available in MagicADASContext.h:

    (BOOL)setVanishingPointPosition:(int)vanishingPointX vanishingPointY:(int)vanishingPointY vanishingPointZ:(int)vanishingPointZ

    (BOOL)setVehicleHoodPosition:(int)verticalOffset confidence:(float)confidence

    (void)destroy

    (void)resetCalibrationParameters

    (void)attachRecorderConfiguration:(nonnull RecorderConfigurationObject *)configuration

    (void)detachRecorderConfiguration:(nonnull RecorderConfigurationObject *)configuration

    (SDKErrorCode)createSensorDataLoggerWithSecondsToKeep:(int)secondsToKeep recordCameraFrames:(BOOL)recordCameraFrames

    (SDKErrorCode)saveSensorDataLog:(NSString *)outputDir logName:(NSString *)logName

  • New methods available in MagicADASContextDelegate.h:

    (void)magicADASContext:(nonnull MagicADASContext *)context onHeadwayWarningEvent:(HeadwayWarningEvent)event obstacle:(ObstacleObject)vehicle timestamp:(NSInteger)timestamp

    (void)magicADASContext:(nonnull MagicADASContext *)context onForwardCollisionWarningEvent:(ForwardCollisionWarningEvent)event obstacle:(ObstacleObject)vehicle timestamp:(NSInteger)timestamp

    (void)magicADASContext:(nonnull MagicADASContext *)context onPedestrianCollisionWarningEvent:(PedestrianCollisionWarningEvent)event obstacle:(ObstacleObject)vehicle timestamp:(NSInteger)timestamp

    (void)magicADASContext:(nonnull MagicADASContext *)context onStopAndGoAssistEvent:(StopAndGoAssistEvent)event obstacle:(ObstacleObject)vehicle timestamp:(NSInteger)timestamp

  • All delegate methods from MagicADASContextDelegate.h are now optional.

  • New methods available in MapViewController.h:

(BOOL)isDefaultPositionTrackerVisible

(BOOL)isDefaultPositionTrackerVisible:(CGRect)rectangle

  • New methods available in MapViewControllerDelegate.h:

(BOOL)shouldSelectLandmark:(nonnull MapViewController *)mapViewController

(BOOL)shouldSelectStreets:(nonnull MapViewController *)mapViewController

(BOOL)shouldSelectRoute:(nonnull MapViewController *)mapViewController

(BOOL)shouldSelectOverlays:(nonnull MapViewController *)mapViewController

(BOOL)shouldSelectTrafficEvents:(nonnull MapViewController *)mapViewController

  • New property available in MapViewRouteRenderSettings.h:

RouteLineType lineType;

  • New methods available in NavigationContext.h:

    (BOOL)isCalculatingRoute

  • New methods available in NavigationInstructionObject.h:

(nullable RouteInstructionObject *)getNextInstruction

(nullable RouteInstructionObject *)getNextNextInstruction

  • New methods available in PositionObject.h:

(nullable PositionObject *)createPosition:(NSInteger)timestamp
                                latitude:(double)latitude longitude:(double)longitude altitude:(double)altitude
                                  course:(double)course
                                   speed:(double)speed
                           speedAccuracy:(double)speedAccuracy
                      horizontalAccuracy:(double)horizontalAccuracy
                        verticalAccuracy:(double)verticalAccuracy
                          courseAccuracy:(double)courseAccuracy

(nullable RouteInstructionObject *)getNextNextInstruction

(BOOL)hasRoadLocalization

(nonnull NSString*)getRoadAddressFieldNameWithType:(AddressSearchFieldType)type

(int)getRoadModifier

(double)getRoadSpeedLimit

(nonnull NSArray <RoadInfoObject *> *)getRoadInfo

(nullable UIImage*)getRoadCodeImage:(CGSize)size

(nullable UIImage*)getRoadCodeImage:(CGSize)size scale:(CGFloat)scale ppi:(NSInteger)ppi

  • New methods available in RouteInstructionObject.h:

(BOOL)isExit

(nonnull NSString *)getExitDetails

(BOOL)isCommon

(BOOL)isEV

  • New methods available in RouteObject.h:

(nonnull NSArray<LandmarkObject *> *)getWaypoints:(RouteWaypointsOption)option

(nonnull NSArray <NSString *> *)getDominantRoads

(nullable PathObject *)getRouteTrack

(nullable SearchableParameterListObject *)getExtraInfo

(void)setExtraInfo:(nonnull SearchableParameterListObject *)list

  • New methods available in RoutePreferencesObject.h:

(BOOL)getAllowOnlineCalculation

(void)setAllowOnlineCalculation:(BOOL)state

  • New methods available in TrafficEventObject.h:

(nullable UIImage*)getImage:(CGSize)size scale:(CGFloat)scale ppi:(NSInteger)ppi

  • New methods available in TurnDetailsObject.h:

(TurnSimplifiedType64)getTurnId64

  • New classes available: AccelerationObject, CameraObject, DataObject, EVRouteObject, RotationObject, RouteObjectDelegate

  • New SwiftUI struct available: MapView

[7.1.24.3.755A6098] - 2024-01-15

Changed

  • New methods available in DriverAssistanceContext.h:

    (void)attachRecorderConfiguration:(nonnull RecorderConfigurationObject *)configuration

    (void)detachRecorderConfiguration:(nonnull RecorderConfigurationObject *)configuration

  • New method available in GEMSdk.h:

    (SDKErrorCode)getStripePublicKeyInTestMode:(BOOL)testMode completionHandler:(nonnull void(^)(NSString *session, SDKErrorCode error))handler

    (SDKErrorCode)getStripeSessionInTestMode:(BOOL)testMode amount:(double)amount currency:(nonnull NSString *)currency completionHandler:(nonnull void(^)(NSString *session, SDKErrorCode error))handler

  • New method available in MapViewController.h:

    (void)setOnMapViewRendered:(nonnull void (^)(ViewDataTransitionStatus status, ViewCameraTransitionStatus cameratatus))handler

    (void)resetOnMapViewRenderedCompletion

    (void)centerOnRoutes:(nonnull NSArray<RouteObject *> *)array displayMode:(RouteDisplayMode)mode animationDuration:(NSTimeInterval)duration completionHandler:(nonnull void(^)(BOOL success))handler

    (nullable UIImage *)snapshotImageWithSize:(CGSize)size captureRect:(CGRect)rect

  • New method available in MapViewPreferencesContext.h:

    (BOOL)getMapLabelsFading

    (void)setMapLabelsFading:(BOOL)status

[7.1.23.47.08560DD1] - 2023-11-24

Changed

  • New methods available in MapStyleContext.h:

    (nullable ContentStoreObject *)getItemById:(NSInteger)contentId

    (void)refreshContentStore

  • New method available in MapViewController.h:

    (nullable CoordinatesObject *)getPositionTrackerCoordinates

    (void)setPositionTrackerCoordinates:(nonnull CoordinatesObject *)coordinates

    (CameraOrientationAngles)getPositionTrackerOrientation

    (void)setPositionTrackerOrientation:(CameraOrientationAngles)orientation

    (BOOL)getPositionTrackerVisibility

    (void)setPositionTrackerVisibility:(BOOL)state

    (CGRect)getPositionTrackerScreenRect

    (nullable NSData *)saveStatePositionTracker

    (SDKErrorCode)restoreStatePositionTracker:(nonnull NSData *)data

    (double)getTrackingObjectHeading

    (double)getTrackingObjectPitch

    (double)getTrackingObjectDistance

    (double)getTrackingObjectZoomFactor

  • New method available in MapViewControllerDelegate.h:

    (void)mapViewController:(nonnull MapViewController *)mapViewController onDoubleTouch:(CGPoint)position

    (void)mapViewController:(nonnull MapViewController *)mapViewController onTwoTouches:(CGPoint)position

    (void)mapViewController:(nonnull MapViewController *)mapViewController onShove:(double)pointersAngleDeg initial:(CGPoint)initial start:(CGPoint)start end:(CGPoint)end

    (void)mapViewController:(nonnull MapViewController *)mapViewController didSelectTrafficEvents:(nonnull NSArray<TrafficEventObject *> *)events

  • New method available in NavigationContext.h:

    (SDKErrorCode)setRouteRoadBlock:(nonnull RouteInstructionObject *)object

    (void)resetRouteRoadBlocks

    (nonnull TransferStatisticsContext *)getTransferStatistics

    (SDKErrorCode)skipNextIntermediateDestination

  • New method available in NavigationContextDelegate.h:

    (void)navigationContext:(nonnull NavigationContext *)navigationContext onSkipNextIntermediateDestinationDetected:(BOOL)state

  • New method available in PositionObject.h:

    (BOOL)hasTerrainData

    (double)getTerrainAltitude

    (double)getTerrainSlope

  • New method available in SoundContext.h:

    (BOOL)isSessionInterrupted

  • New method available in TimeDistanceObject.h:

    (NSString*)getFormattedDistance:(int)value

    (NSString*)getFormattedDistanceUnit:(int)value

  • New method available in TrafficContext.h:

    (nullable TrafficEventObject *)addPersistentRoadblock:(nonnull CircleGeographicAreaObject*)circleArea startTime:(nonnull TimeObject *)startUTC expireTime:(nonnull TimeObject *)expireUTC transportMode:(RouteTransportMode)transportMode identifier:(nonnull NSString *)identifier

  • New method available in TrafficEventObject.h:

    (TrafficEventImpactZone)getImpactZone

    (BOOL)isActive

    (BOOL)isExpired

  • New classes available: CircleGeographicAreaObject, SoundContextDelegate.

[7.1.23.40.6789DC8F] - 2023-10-02

Changed

  • New methods available in LandmarkStoreContext.h:

    (nonnull NSArray <LandmarkObject *> *)getLandmarksWithRectangleGeographicArea:(nonnull RectangleGeographicAreaObject*)rectangle categoryId:(int)categoryId

    (nullable NSURL *)getPreviewUrl

  • New methods available in LandmarkStoreContextCollection.h:

    (void)clear

  • New method available in MapViewController.h:

    (nonnull NSArray <NSNumber *> *)getVisibleRouteInterval:(nonnull RouteObject *)route rect:(CGRect)rect

  • New method available in PositionContext.h:

    (PositionDataType)getSourceType

    (void)setSpeedMultiplier:(float)value

  • New method available in RoutePreferencesObject.h:

    (void)setEmergencyVehicleMode:(BOOL)mode extraFreedom:(int)extraFreedom

    (double)getDepartureHeading

    (double)getDepartureHeadingAccuracy

    (void)setDepartureHeading:(double)head accuracy:(double)accuracy

  • New method available in SearchContext.h:

    (nullable OverlayMutableCollectionObject *)geOverlayMutableCollection

  • New classes available: IntentsContext, OverlayMutableCollectionObject.

[7.1.23.35.9E3DBD80] - 2023-08-31

Changed

  • New methods available in MapViewController.h:

    (nonnull NSArray <OverlayItemObject *> *)getCursorSelectionOverlayItems

  • New methods available in OverlayItemObject.h:

    (nullable OverlayInfoObject *)getOverlayInfo

    (nullable NSURL *)getPreviewUrl

    (nonnull NSString *)getPreviewData:(PreviewDataType)type

    (nullable NSValue *)searchInPreviewDataSocialReportParameterType:(SocialReportParameterType)parameterType

    (BOOL)hasPreviewExtendedData

    (void)getPreviewExtendedDataWithCompletionHandler:(nonnull void(^)(SearchableParameterListObject *parametersList))handler

    (void)cancelGetPreviewExtendedDataWithCompletionHandler:(nonnull void(^)(BOOL finished))handler

    (int)getCategoryId

  • New methods available in RoutePreferencesObject.h:

    (void)setRouteRanges:(nonnull NSArray <NSNumber *> *)array quality:(int)quality

    (nonnull NSArray <NSNumber *> *)getRouteRanges

    (int)getRouteRangesQuality

  • New methods available in RouteTerrainProfileObject.h:

    (nonnull NSArray <RoadSteepSectionObject *> *)getSteepSections:(NSArray <NSNumber *> *)steepnessIntervals

    (float)getElevationChartMinValueY

    (float)getElevationChartMaxValueY

  • New class available: SearchableParameterListObject.

  • Bug fixing and improvements.

[7.1.23.24.F818CE1B] - 2023-06-14

Changed

  • New methods available in MapsContext.h:

    (nonnull NSString*)getSizeFormatted:(double)value

  • New methods available in OverlayItemObject.h:

    (nullable NSValue *)searchInPreviewDataSafetyCameraParameterType:(SafetyCameraParameterType)parameterType

    (void)resetCacheImage

  • New methods available in SoundContext.h:

    (void)updateSessionWithAudioOutput:(AudioOutput)audioOutput

    (void)setDelay:(int)value

    (int)getDelay

  • New classes available: TimezoneContext, TimezoneResultObject.

  • Bug fixing and improvements.

[7.1.23.21.0B8B1AC2] - 2023-05-25

Changed

  • New methods available in MapViewController.h:

    (void)addMarker:(nonnull MarkerCollectionObject *)markerCollection renderSettings:(MarkerCollectionObjectRenderSettings)renderSettings

    (void)setTouchViewBehaviour:(TouchViewBehaviour)behaviour renderSettings:(MarkerCollectionObjectRenderSettings)renderSettings completionHandler:(nullable void(^)(NSArray <CoordinatesObject *> *))handler

  • New methods available in MarkerObject:

    (nonnull NSArray <CoordinatesObject *> *)getCoordinates:(int)part

    (void)setCoordinates:(nonnull NSArray < CoordinatesObject*> *)array

    (void)setCoordinates:(nonnull NSArray < CoordinatesObject*> *)array part:(int)part

    (void)add:(nonnull CoordinatesObject *)location index:(int)index part:(int)part

    (void)deleleFromIndex:(int)index part:(int)part

    (void)update:(nonnull CoordinatesObject *)location index:(int)index part:(int)part

  • Bug fixing and improvements.

[7.1.23.20.D1E234B6] - 2023-05-18

Added

  • New methods available in DataSourceContext.h:

    (void)setLoopMode:(BOOL)value

  • New methods available in HumanVoiceContext.h:

    (BOOL)isContentPreloaded

    (void)preloadContentWithCompletionHandler:(void(^)(BOOL success))handler

  • New methods available in ImageObject.h:

    (instancetype)initWithDataBuffer:(nonnull NSData *)data format:(ImageFormat)format

  • New methods available in LandmarkObject.h:

    (void)setImageData:(nonnull NSData *)data format:(ImageFormat)format

    (void)resetCacheImage

  • New methods available in LandmarkStoreContext.h:

    (void)importLandmarks:(nonnull NSString *)filePath format:(LandmarkImportFileFormat)format progressHandler:(nonnull void(^)(float progress))progressHandler completionHandler:(nonnull void(^)(SDKErrorCode code))completionHandler

    - (void)importLandmarks:(nonnull NSString *)filePath format:(LandmarkImportFileFormat)format categoryId:(int)categoryId progressHandler:(nonnull void(^)(float progress))progressHandler completionHandler:(nonnull void(^)(SDKErrorCode code))completionHandler

  • New methods available in MagicADASContextDelegate.h:

    (void)magicADASContext:(nonnull MagicADASContext *)context onLaneData:(float)position timestamp:(NSInteger)timestamp

  • New methods available in MapsContext.h:

    (BOOL)isContentPreloaded

    (void)preloadContentWithCompletionHandler:(void(^)(BOOL success))handler

  • New methods available in MapStyleContext.h:

    (BOOL)isContentPreloaded

    (void)preloadContentWithCompletionHandler:(void(^)(BOOL success))handler

  • New methods available in MapViewController.h:

    (BOOL)isDefaultFollowingPosition

    (double)getPitchInDegrees

    (double)getMapScale

    (void)setDebugEdgeAreaVisible:(BOOL)state

    (void)setTouchViewBehaviour:(TouchViewBehaviour)behaviour completionHandler:(nullable void(^)(NSArray <CoordinatesObject *> *))handler

    (TouchViewBehaviour)getTouchViewBehaviour

    (void)showMapLogo

    (void)hideMapLogo

  • New methods available in MapViewControllerDelegate:

    (void)mapViewController:(nonnull MapViewController *)mapViewController onPinch:(CGPoint)startPoint1 startPoint2:(CGPoint)startPoint2 toPoint1:(CGPoint)endPoint1 toPoint2:(CGPoint)endPoint2 center:(CGPoint)center

  • Deprecated methods in GEMSdkDelegate.h:

    (void)mapViewController:(nonnull MapViewController *)mapViewController onRotatePoint:(CGPoint)startPoint1 startPoint2:(CGPoint)startPoint2 toPoint1:(CGPoint)endPoint1 toPoint2:(CGPoint)endPoint2 center:(CGPoint)center delta:(double)delta

    (void)mapViewController:(nonnull MapViewController *)mapViewController onPinch:(CGPoint)startPoint1 startPoint2:(CGPoint)startPoint2 toPoint1:(CGPoint)endPoint1 toPoint2:(CGPoint)endPoint2

  • New methods available in RouteBookmarksObject:

(nullable LandmarkObject *)setWaypointTrackData:(nonnull PathObject *)pathObject

  • New methods available in RoutePreferencesObject:

(void)setAccurateTrackMatch:(BOOL)value

(BOOL)getAccurateTrackMatch

  • New methods available in NavigationInstructionObject:

(nullable UIImage*)getCurrentRoadCodeImage:(CGSize)size limit:(int)limit

(nullable UIImage*)getCurrentRoadCodeImage:(CGSize)size scale:(CGFloat)scale ppi:(NSInteger)ppi limit:(int)limit

(nullable UIImage*)getNextRoadCodeImage:(CGSize)size limit:(int)limit

(nullable UIImage*)getNextRoadCodeImage:(CGSize)size scale:(CGFloat)scale ppi:(NSInteger)ppi limit:(int)limit

(nullable UIImage*)getNextNextRoadCodeImage:(CGSize)size limit:(int)limit

(nullable UIImage*)getNextNextRoadCodeImage:(CGSize)size scale:(CGFloat)scale ppi:(NSInteger)ppi limit:(int)limit

[7.1.23.12.D3E4D7BA] - 2023-03-21

Added

  • New methods available in GEMSdk.h:

    (void)setTilesMaxSpace:(int)maxSpace

    (int)getTilesMaxSpace

    (void)deactivateDebugLogger

  • New methods available in AlarmContext:

    (SDKErrorCode)enableSocialReportsWithCategory:(int)categUid

    (SDKErrorCode)disableSocialReportsWithCategory:(int)categUid

    (BOOL)isSocialReportsEnabledWithCategory:(int)categUid

  • New methods available in DriverAssistanceContext:

    (instancetype)initWithContext:(nonnull DataSourceContext *)context configuration:(MagicADASInitConfiguration)configuration

  • New methods available in FollowPositionPreferencesContext:

    (void)setTouchHandlerModifyPersistent:(BOOL)persistent

    (BOOL)getTouchHandlerModifyPersistent

  • New categories available in GenericCategoriesContext:

    GenericCategoryTypeHydrants

    GenericCategoryTypeEmergencyServicesSupport

    GenericCategoryTypeCivilEmergencyInfrastructure

  • New methods available in ImageObject:

    (nullable UIImage*)renderImageWithSize:(CGSize)size scale:(CGFloat)scale ppi:(NSInteger)ppi

  • New methods available in LandmarkCategoryObject:

    (nullable UIImage *)getImage:(CGSize)size scale:(CGFloat)scale ppi:(NSInteger)ppi

  • New methods available in LandmarkObject:

    (nullable UIImage*)getLandmarkImage:(CGSize)size scale:(CGFloat)scale ppi:(NSInteger)ppi

  • New methods available in MapViewController:

    (void)setFontModifiersScale:(CGFloat)value boldStyle:(BOOL)state

    (void)setTextureScaleFactor:(CGFloat)value

    (nonnull NSArray <LandmarkObject *> *)getHighlight:(int)highlightId

    (void)centerOnRoutes:(nonnull NSArray<RouteObject *> *)array displayMode:(RouteDisplayMode)mode rectangle:(CGRect)rect animationDuration:(NSTimeInterval)duration

    (void)refreshRoutesWithEdgeAreaInsets:(UIEdgeInsets)insets

    (void)centerOnLocation:(nonnull LandmarkObject *)landmark rectangle:(CGRect)rect animationDuration:(NSTimeInterval)duration

  • New methods available in MapViewControllerDelegate:

    (void)mapViewController:(nonnull MapViewController *)mapViewController didUpdateMapAngle:(double)angle

  • New methods available in MapViewPreferencesContext:

    (nullable MapViewRouteRenderSettings *)getRenderSettings:(nonnull RouteObject *)routeObject

    (nonnull NSArray <MapViewRouteObject *> *)getMapViewRoutes

  • New property isavailable in MapViewRouteRenderSettings:

    imageSize

  • New method available in NavigationContext:

    (nullable RouteObject *)getNavigationRoute

  • New method available in NavigationContextDelegate:

    (void)navigationContext:(nonnull NavigationContext *)navigationContext navigationInstructionUpdatedForRoute:(nonnull RouteObject *)route updatedEvents:(int)events

  • New methods available in NavigationInstructionObject:

    (nullable UIImage*)getSignpostImage:(CGSize)size border:(NSInteger)border roundCorners:(BOOL)round rows:(NSInteger)rows

    (nullable UIImage*)getSignpostImage:(CGSize)size scale:(CGFloat)scale ppi:(NSInteger)ppi border:(NSInteger)border roundCorners:(BOOL)round rows:(NSInteger)rows

    (nullable UIImage*)getCurrentRoadCodeImage:(CGSize)size

    (nullable UIImage*)getCurrentRoadCodeImage:(CGSize)size scale:(CGFloat)scale ppi:(NSInteger)ppi

    (nullable UIImage*)getNextRoadCodeImage:(CGSize)size

    (nullable UIImage*)getNextRoadCodeImage:(CGSize)size scale:(CGFloat)scale ppi:(NSInteger)ppi

    (nullable UIImage*)getNextTurnImage:(CGSize)size scale:(CGFloat)scale ppi:(NSInteger)ppi

    (nullable UIImage*)getNextTurnImage:(CGSize)size scale:(CGFloat)scale ppi:(NSInteger)ppi colorActiveInner:(nonnull UIColor*)colorActiveIn colorActiveOuter:(nonnull UIColor*)colorActiveOut colorInactiveInner:(nonnull UIColor*)colorInactiveIn colorInactiveOuter:(nonnull UIColor*)colorInactiveOut

    (nonnull NSString*)getNextNextStreetName

    (BOOL)hasNextNextRoadInfo

    (nullable UIImage*)getNextNextRoadCodeImage:(CGSize)size

    (nullable UIImage*)getNextNextRoadCodeImage:(CGSize)size scale:(CGFloat)scale ppi:(NSInteger)ppi

    (nonnull NSArray <RoadInfoObject *> *)getNextNextRoadInformation

    (nullable UIImage*)getNextNextTurnImage:(CGSize)size scale:(CGFloat)scale

    (nullable UIImage*)getNextNextTurnImage:(CGSize)size colorActiveInner:(nonnull UIColor*)colorActiveIn colorActiveOuter:(nonnull UIColor*)colorActiveOut colorInactiveInner:(nonnull UIColor*)colorInactiveIn colorInactiveOuter:(nonnull UIColor*)colorInactiveOut

    (nullable UIImage*)getNextNextTurnImage:(CGSize)size scale:(CGFloat)scale ppi:(NSInteger)ppi colorActiveInner:(nonnull UIColor*)colorActiveIn colorActiveOuter:(nonnull UIColor*)colorActiveOut colorInactiveInner:(nonnull UIColor*)colorInactiveIn colorInactiveOuter:(nonnull UIColor*)colorInactiveOut

    BOOL)hasLaneInfo

    (nullable UIImage*)getLaneImage:(CGSize)size backgroundColor:(nonnull UIColor *)backgroundColor activeColor:(nonnull UIColor *)activeColor inactiveColor:(nonnull UIColor *)inactiveColor

    (nullable UIImage*)getLaneImage:(CGSize)size scale:(CGFloat)scale ppi:(NSInteger)ppi backgroundColor:(nonnull UIColor *)backgroundColor activeColor:(nonnull UIColor *)activeColor inactiveColor:(nonnull UIColor *)inactiveColor

    (nonnull NSString*)getNextNextTurnInstructionFormatted

    (nonnull NSString*)getDistanceToNextNextTurnFormatted

    (nonnull NSString*)getDistanceToNextNextTurnUnitFormatted

    (nonnull NSString*)getCurrentStreetSpeedLimitFormatted

  • New methods available in NavigationContextDelegate:

    (void)setBikeProfile:(BikeProfile)profile withEBikeProfileDetails:(EBikeProfileDetails)eBikeProfileDetails

    (EBikeProfileDetails)getEBikeProfileDetails

    (EBikeProfileDetails)getDefaultEBikeProfile

    (void)setStrictTrackFollow:(BOOL)state

    (BOOL)getStrictTrackFollow

  • New methods available in SearchContext:

    (nullable LandmarkStoreContextCollection *)getLandmarkStoreCollection

    (BOOL)isSearchOnlyOnboardEnabled

    (int)getThresholdDistance

    (BOOL)removeCategory:(nonnull LandmarkCategoryObject*)category

    (BOOL)removeAllCategories

    (BOOL)getAllowFuzzyResults

    (void)setEstimateMissingHouseNumbers:(BOOL)state

    (BOOL)getEstimateMissingHouseNumbers

    (void)cancelAddressSearch

    (void)cancelAddressSearchCountries

  • New method available in SocialReportsOverlayCategoryObject:

    (nullable NSValue *)searchInPreviewData:(SocialReportCategoryParameterType)parameterType

  • New methods available in SoundContext:

    (void)playFileType:(FileAudioType)type

    (void)playWarningAlert:(DriverAssistanceAudioFile)audioFile

  • New method available in TimeDistanceObject:

    (nonnull NSMeasurement <NSUnitLength *> *)getTotalDistanceMeasurement

Changed

  • Renamed class RoadSafetyAlertsContext into MagicADASContext.

  • Renamed class RoadSafetyAlertsContextDelegate into MagicADASContextDelegate.

[7.1.23.2.F5465C47] - 2023-01-11

Added

  • Example app with projection can be found here: D3Scene/D3Scene.xcworkspace/Projections

  • New methods available in GEMSdk.h:

    (void)useSystemTimer

    (void)useDisplayLink

  • New methods available in GEMSdkDelegate.h:

    (void)onConnectionStatusUpdated:(BOOL)connected

  • Deprecated methods in GEMSdkDelegate.h:

    (void)onlineConnectionStatusChanged:(OnlineConnectionStatus)status __attribute__((deprecated("Please use 'onConnectionStatusUpdated' instead")))

  • New methods available in LandmarkStoreContext.h:

    (BOOL)updateLandmark:(nonnull LandmarkObject*)landmark

    (nonnull NSString*)getFilePath

    (void)importLandmarks:(nonnull NSString *)filePath format:(LandmarkImportFileFormat)format completionHandler:(nonnull void(^)(SDKErrorCode code))handler

    (void)cancelImportLandmarks

  • New methods available in MapViewController.h:

    (void)setCompassSize:(CGFloat)size

    (void)scrollMap:(CGPoint)translation

    (void)flingMap:(CGPoint)velocity

  • New methods available in MapViewPreferencesContext.h:

    (CGRect)getFocusViewport

    (void)setFocusViewport:(CGRect)rect

  • New properties available in MapViewRouteRenderSettings.h:

    waypointTextSize, waypointTextInnerColor, waypointTextOuterColor

  • New methods available in RouteBookmarksObject.h:

    (void)setAutoDeleteMode:(BOOL)mode

    (BOOL)getAutoDeleteMode

  • New methods available in RoutePreferencesObject.h:

    (void)setIgnoreRestrictionsOverTrack:(BOOL)state

    (BOOL)getIgnoreRestrictionsOverTrack

    (void)setEmergencyVehicleMode:(BOOL)state

    (BOOL)getEmergencyVehicleMode

  • New methods available in RecorderContext.h:

    (NSUInteger)addUserData:(NSUInteger)dataTypeIdentifier buffer:(nonnull NSData *)data

    (void)addADASCalibrationConfiguration:(nonnull DriverAssistanceContext *)context

  • Removed deprecated compatibility alias in CoordinatesObject.h: GeoLocation

  • LandmarkObject now supports NSSecureCoding protocol. This means that the object can now be encode/decode.

[7.1.22.46.8999C03E] - 2022-11-14

Added

  • New feature available: Coordinates Projections. The SDK supports now the following projections types: W3W ( what3words ), Military Grid Reference System, British National Grid, Lambert 93, Universal Transverse Mercator and Gauss-Krueger.

  • Projection API: ProjectionContext, ProjectionObject, ProjectionW3WObject, ProjectionMGRSObject, ProjectionLAMObject, ProjectionBNGObject, ProjectionGKObject, ProjectionUTMObject, ProjectionWGS84Object.

  • Example app with projection can be found here: D3Scene/D3Scene.xcworkspace/Projections

  • New methods available in DriverAssistanceContext.h:

    (instancetype)initWithContext:(nonnull DataSourceContext *)context configuration:(RoadSafetyAlertsInitConfiguration)configuration

[7.1.22.43.A866AF6C] - 2022-10-27

Added

  • New methods available in DataSourceConfigurationObject.h:

    (void)setImprovedPositionSnapToMapLinkThresholdVehicle:(NSInteger)threshold

    (void)setImprovedPositionSnapToMapLinkThresholdBike:(NSInteger)threshold

[7.1.22.41.9C5833F1] - 2022-10-13

Changed

  • Solved app crash on iPhone Simulator with x86_64 arch (Intel Macs).

  • NavigationContextDelegate is now optional.

[7.1.22.41.6B0D8D54] - 2022-10-10

Added

  • New method available in ContentStoreObject.h:

    (void)downloadWithAllowCellularNetwork:(BOOL)allowCellularNetwork progressHandler:(nonnull void(^)(int progress))progressHandler completionHandler:(nonnull void(^)(BOOL success))completionHandler

  • Solved memory leak in map view.

[7.1.22.39.4A2FB489] - 2022-09-27

Added

  • New method available in SearchContext.h:

    (void)searchAroundWithQuery:(nonnull NSString*)query location:(nonnull CoordinatesObject *)location completionHandler:(nonnull void(^)(NSArray<LandmarkObject *> *array))handler

[7.1.22.31.C4AB7AB1] - 2022-08-04

Added

  • GEMKit SDK now contains the following architectures: ios-arm64, ios-arm64_x86_64-maccatalyst, ios-arm64_x86_64-simulator. This means that the Sdk can run now on iPhone Simulators and also on Mac Catalyst projects.

  • New method available in MapViewController.h:

    (CGRect)getViewport;

    (MapViewPerspective)getPerspective

    (void)centerOnPolygonArea:(nonnull PolygonGeographicAreaObject *)area zoomLevel:(int)level animationDuration:(NSTimeInterval)duration completionHandler:(nonnull void(^)(BOOL success))handler

    • New method available in CameraRenderViewController.h:

    (BOOL)isRenderActive

  • New methods available in MapViewControllerDelegate:

    (void)mapViewController:(nonnull MapViewController *)mapViewController didRender:(ViewDataTransitionStatus)dataStatus cameraTransitionStatus:(ViewCameraTransitionStatus)cameraStatus

  • New methods available in PathObject:

    (instancetype)initWithDataBuffer:(nonnull NSData *)data format:(PathFileFormat)format

    (nullable NSData *)exportAs:(PathFileFormat)format

  • New methods available in RouteObject:

    (nullable NSData *)exportAs:(PathFileFormat)format

    (nullable RoutePreferencesObject *)getPreferences

  • New methods available in SoundContext:

    (void)setUseTtsWithLanguage:(nonnull NSString *)language completionHandler:(nonnull void(^)(BOOL success))handler

  • New classes available: PolygonGeographicAreaObject

  • Renamed class ExceptionHandler.h into GEMExceptionHandler.

  • Deprecated class GeoLocation.h. Please use CoordinatesObject instead.

[7.1.22.18.D57E5A51] - 2022-06-30

Added

  • New method available in GEMSdk.h:

    (BOOL)initSdk:(nonnull NSString *)authorizationKey language:(nonnull NSString *)language languageTTS:(nonnull NSString *)languageTTS

  • Deprecated methods in MapViewController.h:

    (void)centerOnGeoLocation:(nonnull GeoLocation *)location zoomLevel:(int)level animationDuration:(NSTimeInterval)duration

    (void)centerOnGeoLocation:(nonnull GeoLocation *)location zoomLevel:(int)level mapAngle:(double)mapAngle viewAngle:(double)viewAngle animationDuration:(NSTimeInterval)duration

    (void)centerOnGeoLocation:(nonnull GeoLocation *)location zoomLevel:(int)level point:(CGPoint)point mapAngle:(double)mapAngle viewAngle:(double)viewAngle animationDuration:(NSTimeInterval)duration

  • Deprecated methods in LandmarkObject.h:

    (nonnull GeoLocation*)getLandmarkGeoLocation

    (void)setLandmarkGeoLocation:(nonnull GeoLocation *)location

  • New method available in ContentStoreObject.h:

    (BOOL)isNightStyle

  • New methods available in GenericCategoriesContext.h:

    (nullable LandmarkCategoryObject *)getCategory:(GenericCategoryType)categoryType

    (nonnull NSArray <LandmarkCategoryObject *> *)getPoiCategories:(int)genericCategory

    (nullable LandmarkCategoryObject *)getGenericCategory:(int)poiCategory

    (int)getLandmarkStoreId

  • Removed method in `GenericCategoriesContext.h:

    (nonnull LandmarkCategoryObject *)getLandmarkCategoryObjectWithType:(GenericCategoryType)categoryType

  • New method available in LogBookmarksContext.h:

    (BOOL)isMetadataAvailable:(nonnull NSString *)filePath

  • New methods available in MapViewController.h:

    (BOOL)isRenderActive

    (void)stopFollowingPositionWithRestoreCameraMode:(BOOL)restoreCameraMode

    (void)centerOnCoordinates:(nonnull GeoLocation *)location zoomLevel:(int)level animationDuration:(NSTimeInterval)duration

    (void)centerOnCoordinates:(nonnull GeoLocation *)location zoomLevel:(int)level mapAngle:(double)mapAngle viewAngle:(double)viewAngle animationDuration:(NSTimeInterval)duration

    (void)centerOnCoordinates:(nonnull GeoLocation *)location zoomLevel:(int)level point:(CGPoint)point mapAngle:(double)mapAngle viewAngle:(double)viewAngle animationDuration:(NSTimeInterval)duration

  • New enum available in MapViewHeader.h:

    MapViewTouchGestures

  • New methods available in MapViewPreferencesContext.h:

    (nullable LandmarkStoreContextCollection *)getLandmarkStoreCollection

    (BOOL)getTrafficVisibility

    (SDKErrorCode)setTrafficVisibility:(BOOL)state

    (SDKErrorCode)enableTouchGesture:(MapViewTouchGestures)gesture enable:(BOOL)state

    (SDKErrorCode)enableTouchGestures:(NSInteger)gestures enable:(BOOL)state

    (BOOL)isTouchGestureEnabled:(MapViewTouchGestures)gesture

    (NSInteger)getEnabledTouchGestures

  • New methods available in TrafficContext.h:

    (TrafficOnlineRestrictions)getOnlineServiceRestrictions:(nonnull GeoLocation *)location

    (nonnull TransferStatisticsContext*)getTransferStatistics

    (nullable TrafficEventObject *)addPersistentRoadblock:(nonnull NSArray <GeoLocation *> *)array startTime:(nonnull TimeObject *)startUTC expireTime:(nonnull TimeObject *)expireUTC transportMode:(RouteTransportMode)transportMode

    (void)removePersistentRoadblock:(nonnull GeoLocation *)location

    (void)removeAllPersistentRoadblocks

    (nonnull NSArray < RouteTrafficEventObject *> *)getPersistentRoadblocks

    (void)removeUserRoadblock:(nonnull TrafficEventObject *)event

    (void)startPersistentRoadblockNotification

    (void)stopPersistentRoadblockNotification

  • New classes available:

    DriverBehaviourContext

    DriverBehaviourAnalysisObject

    DrivingScoresObject

    LandmarkPositionObject

    LandmarkStoreContextCollection

    LandmarkStoreContextService

    MappedDrivingEventObject

    PersistentRoadblockDelegate

    OverlayCollectionObject

    OverlayHeader

    OverlayInfoObject

    OverlayItemPositionObject

    OverlayServiceContext

    SocialReportsOverlayInfoObject

    TrafficEventObject

    TransferStatisticsContext

[7.1.22.18.0A8870F1] - 2022-05-04

Added

  • New method available in CameraRenderViewController.h:

    (BOOL)isRenderingDriverAssistance;

  • New methods available in DataSourceContext.h:

    (DataSourceOrigin)getOrigin

    (TemperatureLevel)getTemperatureLevel

    (double)getTemperatureDegrees

    (SDKErrorCode)setMockDataWithPosition:(nullable MockPositionObject *)positionObject

    (BOOL)isMockData:(DataType)type

  • New method available in DataSourceContextDelegate.h:

    (void)dataSourceContext:(nonnull DataSourceContext *)dataSourceContext onTemperatureChanged:(TemperatureLevel)level degreee:(double)degree

    (void)dataSourceContext:(nonnull DataSourceContext *)dataSourceContext onDeviceMountedChanged:(BOOL)isMounted isPortraitMode:(BOOL)isPortrait

  • New classes available: LandmarkStoreCollectionObject, MapViewRouteObject, MapViewRouteRenderSettings.h, MockPositionObject.

  • New methods available in GeoLocation.h:

    (nonnull instancetype)coordinatesWithLatitude:(double)latitude longitude:(double)longitude altitude:(double)altitude

    (double)getAzimuth:(nonnull GeoLocation*)point

  • New methods available in LandmarkStoreContext.h:

    (instancetype)initWithIdentifier:(int)identifier

  • New methods available in LandmarkStoreContext.h:

    (CGPoint)transformWgsToScreen:(nonnull GeoLocation *)location

    (nonnull NSArray <RectangleGeographicAreaObject *> *)transformScreenRectToWgs:(CGRect)rect

  • New methods available in MapViewPreferencesContext.h:

    (nullable LandmarkStoreCollectionObject *)getLandmarkStores

    (nullable PathCollectionObject *)getPaths

    (nullable MarkerCollectionObject *)getMarkers

    (nonnull MapViewRouteRenderSettings *)getRenderSettings:(nonnull RouteObject *)routeObject

    (void)setRenderSettings:(nonnull MapViewRouteRenderSettings *)settings route:(nonnull RouteObject *)routeObject

  • New methods available in PathObject.h:

    (nullable GeoLocation *)getCoordinateAtPercent:(double)percent

  • New methods available in RoutePreferencesObject.h:

    (int)getMinimumTransferTimeInMinutes

    (void)setMinimumTransferTimeInMinutes:(int)value

    (unsigned int)getMaximumTransferTimeInMinutes

    (void)setMaximumTransferTimeInMinutes:(unsigned int)value

[7.1.22.8.A6D2863A] - 2022-04-01

Added

  • New method available in GEMSdk.h:

    (void)logMessage:(nonnull NSString*)string

  • New methods available in MapViewController.h:

    (nonnull GeoLocation *)getCursorWgsPosition

    (BOOL)isFollowingPositionTouchHandlerModified

    (nullable PathCollectionObject *)getPaths

    (void)setFlatPositionTracker

    (void)setPositionTrackerScaleFactor:(double)factor

    (double)getPositionTrackerScaleFactor

    (double)getPositionTrackerMaxScaleFactor

    (void)customizePositionTrackerGlTF:(nonnull NSData *)data

  • New methods available in MapViewPreferencesContext:

    (int)routesCollectionSize

    (nullable RouteObject *)getRoute:(int)index

    (int)indexOf:(nonnull RouteObject *)route

    (BOOL)isMainRoute:(nonnull RouteObject *)routeObject

    (nullable RouteObject *)getMainRoute

    (void)setMainRoute:(nonnull RouteObject *)routeObject

    (void)setRouteLabel:(nonnull RouteObject *)routeObject label:(nonnull NSString *)string

    (nullable NSString *)getRouteLabel:(nonnull RouteObject *)routeObject

    (nonnull NSArray <ImageObject *> *)getRouteImages:(nonnull RouteObject *)routeObject

    (void)setRouteImages:(nonnull RouteObject *)routeObject images:(nonnull NSArray <UIImage *> *)images

    (BOOL)addRoute:(nonnull RouteObject *)routeObject isMainRoute:(BOOL)isMainRoute label:(nullable NSString *)label images:(nullable NSArray <UIImage *> *)images

    (void)hideRouteLabel:(nonnull RouteObject *)routeObject

    (void)removeRoute:(nonnull RouteObject *)routeObject

    (BOOL)containsRoute:(nonnull RouteObject *)routeObject

    (void)clearRoutes

  • New method available in NavigationContext:

    (void)calculateRouteWithWaypoints:(nonnull NSArray<LandmarkObject *> *)array statusHandler:(nonnull void(^)(RouteStatus))statusHandler completionHandler:(nonnull void(^)(NSArray<RouteObject *> *array))completionHandler

  • New method available in PathObject:

    (instancetype)initWithCoordinates:(nonnull NSArray <GeoLocation *> *)coordinates

  • New method available in RecorderContext:

    (BOOL)isAudioRecording

  • New methods available in RouteBookmarksObject:

    (instancetype)initWithFileName:(nonnull NSString *)file folderName:(nullable NSString *)folder

    (nullable LandmarkObject *)setWaypointTrackData:(nonnull LandmarkObject *)landmarkObject path:(nonnull PathObject *)pathObject

  • Removed method from RouteBookmarksObject:

    (instancetype)initWithName:(nonnull NSString *)name

  • New method available in RouteObject:

    (nullable RouteObject *)toPTRoute

  • New method available in RouteSegmentObject:

    (nonnull NSArray<PTRouteInstructionObject *> *)getPTInstructions

  • New method available in LogBookmarksContext.h:

    (void)exportLogToPhotos:(nonnull NSString *)filePath albumName:(nonnull NSString *)albumName completionHandler:(nonnull void(^)(SDKErrorCode code))handler

  • New methods available in DriverAssistanceContextDelegate:

    (void)driverAssistance:(nonnull DriverAssistanceContext *)context ttsWarning:(nonnull NSString *)string severity:(AlertSeverity)severity

    (void)driverAssistance:(nonnull DriverAssistanceContext *)context audioWarning:(DriverAssistanceAudioFile)audioFile severity:(AlertSeverity)severity

[7.1.22.8.A17891D0] - 2022-02-21

Added

  • New methods available in FollowPositionPreferencesContext:

    (void)setMapRotationMode:(FollowPositionMapRotationMode)mode angle:(double)angle objectFollowMap:(BOOL)followMap

    (FollowPositionMapRotationMode)getMapRotationMode

    (BOOL)isTrackObjectFollowingMapRotation

    (void)setAccuracyCircleVisibility:(BOOL)value

    (BOOL)isAccuracyCircleVisible

  • New methods available in LandmarkObject:

    (void)setExtraInfo:(nonnull NSArray <NSString *> *)array

    (nonnull NSString *)findExtraInfo:(nonnull NSString *)string

  • New methods available in LogBookmarksContext:

    (nonnull NSArray < NSDictionary <NSString *, NSObject *> *> *)getSoundMarks:(nonnull NSString *)filePath;

  • New methods available in MapViewController:

    centerOnGeoLocation:(GeoLocation *)location zoomLevel:(int)level mapAngle:(double)mapAngle viewAngle:(double)viewAngle animationDuration:(NSTimeInterval)duration

    centerOnGeoLocation:(GeoLocation *)location zoomLevel:(int)level point:(CGPoint)point mapAngle:(double)mapAngle viewAngle:(double)viewAngle animationDuration:(NSTimeInterval)duration

    (void)presentHighlights:(nonnull NSArray<LandmarkObject *> *)highlights settings:(nonnull HighlightRenderSettings *)settings

    (void)presentHighlights:(nonnull NSArray<LandmarkObject *> *)highlights settings:(nonnull HighlightRenderSettings *)settings highlightId:(int)highlightId

    (void)removeHighlight:(int)highlightId

    (nullable RectangleGeographicAreaObject *)getHighlightArea

    (nullable RectangleGeographicAreaObject *)getHighlightArea:(int)highlightId

    • New methods available in RecorderContext:

    (void)startAudioRecording

    (void)stopAudioRecording

    • New methods available in SoundContext:

    (void)updateSessionWithAudioCategory:(AudioCategory)audioCategory

  • The following methods are now deprecated in MapViewController:

    (void)presentHighlight:(nonnull LandmarkObject *)landmark contourColor:(nullable UIColor*)color centerLayout:(BOOL)center animationDuration:(NSTimeInterval)duration

    (void)presentHighlights:(nonnull NSArray<LandmarkObject *> *)highlights animationDuration:(NSTimeInterval)duration

    (void)setHighlightPinImage:(nonnull UIImage *)image

    (void)setHighlightPinSize:(NSInteger)size

[7.1.22.6.44F1F5EF] - 2022-02-08

Added

  • New methods available in GEMSdk:

    (nonnull NSArray <NSNumber *> *)getCapabilities

    (BOOL)isWiFiConnected

    (BOOL)isMobileDataConnected

  • New methods available in MapViewController:

    (void)setDefaultPositionTracker

    (void)customizePositionTracker:(nonnull NSData *)textureData

    (void)customizePositionTracker:(nonnull NSData *)objData material:(nonnull NSData *)matData

    (nonnull MapViewPreferencesContext *)getPreferences

  • Removed methods from MapViewController:

    (int)getZoomLevelWithFollowMode:(CameraFollowMode)mode

    (void)setZoomLevel:(int)level point:(CGPoint)point followMode:(CameraFollowMode)mode animationDuration:(NSTimeInterval)duration

    (double)getTiltAngleWithFollowMode:(CameraFollowMode)followMode

  • New methods available in RecorderContext:

    (NSUInteger)getDiskSpaceUsedPerSecond

  • New methods available in RecorderConfigurationObject:

    (void)setDeviceModel:(nonnull NSString *)model

  • New methods available in RecorderContextDelegate:

    recorderContext:(nonnull RecorderContext *)recorderContext recordingCompleted:(nonnull NSString *)path

  • New classes available: FollowPositionPreferencesContext, MapViewPreferencesContext, DataSourcePlaybackContext, ExceptionHandler, DriverAssistanceContext.

[7.1.22.1.89E158C4] - 2022-01-07

Added

  • New methods available in DataSourceContext:

    (instancetype)initWithFilePath:(nonnull NSString *)filePath

    (BOOL)setConfiguration:(nonnull DataSourceConfigurationObject *)configutation forType:(DataType)type

    seekTo:(NSInteger)valueMs

    (NSInteger)getCurrentPosition

    (NSInteger)getDuration

  • New methods available in DataSourceContextDelegate:

    (void)dataSourceContext:(nonnull DataSourceContext *)dataSourceContext onProgressChanged:(NSInteger)progress

    (void)dataSourceContext:(nonnull DataSourceContext *)dataSourceContext onPlayingStatusChanged:(DataType)type status:(PlayingStatus)playingStatus

  • New method available in MapViewController:

    (nullable LandmarkObject *)getClosestAddress:(nonnull GeoLocation *)location radius:(int)radius

    (MapDetailsQualityLevel)getMapDetailsQualityLevel

  • New methods available in PositionContext:

    (BOOL)startProcessingLocationServicesDataWithDataSourceConfigurationObject:(nonnull DataSourceConfigurationObject *)configutation

    (BOOL)clean

    (BOOL)startProcessingLogData:(nonnull DataSourceContext *)context

    (BOOL)stopProcessingLogData

    (BOOL)isProcessingLogData

  • The following methods are now deprecated in PositionContext:

    (BOOL)startProcessingLocationServicesDataWithAllowBackgroundLocationUpdates:(BOOL)allowBackgroundLocationUpdates

  • New methods available in RoadSafetyAlertsContext:

    (instancetype)initWithContext:(nonnull DataSourceContext *)context

    (instancetype)initWithContext:(nonnull DataSourceContext *)context useMapMatchedPosition:(BOOL)useMapMatchedPosition type:(ProcessorExecutionType)processorType

  • Implemented support for CameraRenderViewController.

  • Implemented support for DataSourceConfigurationObject.

  • Implemented support for LogPlayingContext, LogUploadContext, LogUploadDelegate, LogUploadHeader.

  • Implemented support for RecorderConfigurationObject, RecorderContext, RecorderContextDelegate, RecorderHeader

  • Removed the following file ImageDrawerController.

[7.1.21.47.6C765E74] - 2021-11-24

Added

  • New methods available in MapViewController:

    setMapDetailsQualityLevel:(MapDetailsQualityLevel)level

    (MapDetailsQualityLevel)getMapDetailsQualityLevel

  • New methods available in NavigationContext:

    (void)simulateWithRoute:(nonnull RouteObject *)route speedMultiplier:(float)speed completionHandler:(nonnull void(^)(BOOL success))handler

    (void)navigateWithRoute:(nonnull RouteObject *)route completionHandler:(nonnull void(^)(BOOL success))handler

  • New methods available in MapViewControllerDelegate:

    (void)mapViewController:(nonnull MapViewController *)mapViewController didSelectOverlays:(nonnull NSArray<OverlayItemObject *> *)overlays

  • New method available in PositionContext:

    (nullable PositionObject*)getPosition:(PositionType)type;

  • New case in RouteType enum available:

    RouteTypeEconomic

  • New profile available in RoutePreferencesObject:

    EBikeProfile

    EBikeProfileDetails

  • New methods available in SocialOverlayContext:

    (nonnull NSArray < SocialReportsOverlayCategoryObject *> *)getCategoriesWithIsoCode:(nonnull NSString *)isoCode

    (nullable SocialReportsOverlayCategoryObject *)getCategoryWithIdentifier:(int)categoryId isoCode:(nonnull NSString *)isoCode

  • New classes available: MapDetailsContext.h, OverlayCategoryObject.h, SocialReportsOverlayCategoryObject DataSourceContext, DataSourceContextDelegate, RoadSafetyAlertsContext, RoadSafetyAlertsContextDelegate

Changed

  • The following methods are now deprecated in NavigationContext:

    simulateRouteWithRoute:(nonnull RouteObject *)route speedMultiplier:(float)speed completionHandler:(nonnull void(^)(BOOL success))handler

    navigateRouteWithRoute:(nonnull RouteObject *)route completionHandler:(nonnull void(^)(BOOL success))handler

Removed

  • Removed deprecated methods from PositionContext, NavigationContext, MapViewController and RouteInstructionObject.

[7.1.21.43.FAFF5D4E] - 2021-10-29

Added

  • New methods available in OverlayItemObject:

    (nonnull NSString *)getPreviewData:(ExtendedDataType)type

    (nullable NSValue *)searchInPreviewData:(SocialReportParameterType)parameterType

Changed

  • Fixed app crash for custom map style.

Removed

  • Removed methods from ImageDatabaseObject:

    (int)import:(nonnull NSString *)filePath

    (BOOL)removeImageObject:(nonnull ImageObject *)object

[7.1.21.43.B28E7C7F] - 2021-10-25

Added

  • New methods available in AlarmContext:

    (void)enableSafetyCameraOfflineDataGrabber

    (void)disableSafetyCameraOfflineDataGrabber

    (BOOL)isSafetyCameraOfflineDataGrabberEnabled

    (BOOL)isSafetyCameraOfflineDataGrabberSupported

    (void)enableSocialReportsOfflineDataGrabber

    (void)disableSocialReportsOfflineDataGrabber

    (BOOL)isSocialReportsOfflineDataGrabberEnabled

    (BOOL)isSocialReportsOfflineDataGrabberSupported

    (void)setOverSpeedThreshold:(double)threshold insideCityArea:(bool)inside

    (double)getOverSpeedThreshold:(BOOL)insideCityArea

    (nonnull NSArray <RectangleGeographicAreaObject *> *)getCrossedBoundaries

    (nonnull NSArray <LandmarkObject *> *)getLandmarkAlarms

    (nonnull NSArray <OverlayItemObject *> *)getOverlayItemAlarmsPassedOver

  • Make AlarmContextDelegate optional.

  • New methods available in AlarmContextDelegate:

    (void)alarmContextOnBoundaryCrossed:(nonnull AlarmContext *)alarmContext

    (void)alarmContextOnMonitoringStateChanged:(nonnull AlarmContext *)alarmContext

    (void)alarmContextOnTunnelEntered:(nonnull AlarmContext *)alarmContext

    (void)alarmContextOnTunnelLeft:(nonnull AlarmContext *)alarmContext

    (void)alarmContextOnLandmarkAlarmsUpdated:(nonnull AlarmContext *)alarmContext

    (void)alarmContextOnOverlayItemAlarmsUpdated:(nonnull AlarmContext *)alarmContext

    (void)alarmContextOnLandmarkAlarmsPassedOver:(nonnull AlarmContext *)alarmContext

    (void)alarmContextOnOverlayItemAlarmsPassedOver:(nonnull AlarmContext *)alarmContext

    (void)alarmContextOnEnterDayMode:(nonnull AlarmContext *)alarmContext

    (void)alarmContextOnEnterNightMode:(nonnull AlarmContext *)alarmContext

  • New enums available for LandmarkCategoryObject:

    DefaultLandmarkCategory

  • New methods available for LandmarkObject:

    (nullable ImageObject*)getImage

    (void)setImage:(nonnull ImageObject *)object

    (nullable ImageObject*)getExtraImage

    (void)setExtraImage:(nonnull ImageObject *)object

  • New methods available for LandmarkStoreContext:

    (BOOL)updateCategory:(nonnull LandmarkCategoryObject *)category

    (BOOL)removeCategory:(nonnull LandmarkCategoryObject *)category

    (BOOL)removeCategoryWithAllContent:(nonnull LandmarkCategoryObject *)category

  • New methods available for RectangleGeographicAreaObject:

    (nonnull GeoLocation *)getCenterPoint

    (BOOL)isDefault

    (BOOL)isEmpty

    (void)reset

Changed

  • Fixed typo in methods available for MapViewController:

    (void)searchAroundWithCompletionHandler:(nonnull void(^)(NSArray<LandmarkObject *> *array))handler

    (void)searchAroundWithCategory:(nonnull LandmarkCategoryObject *)category completionHandler:(void(^)(NSArray<LandmarkObject *> *array))handler

  • Fixed typo in methods available for SearchContext:

    (void)searchAroundWithLocation:(nonnull GeoLocation *)location completionHandler:(nonnull void(^)(NSArray<LandmarkObject *> *array))handler;

[7.1.21.41.741983E3] - 2021-10-15

Added

  • New methods available in ContactInfoObject:

    (void)setField:(int)index type:(ContactInfoFieldType)fieldType value:(nonnull NSString *)value name:(nonnull NSString *)name

    (void)addField:(ContactInfoFieldType)fieldType value:(nonnull NSString *)value name:(nonnull NSString *)name

    (void)removeField:(int)index

  • New methods available in GEMSdkDelegate:

    (BOOL)shouldUpdateWorldwideRoadMapForStatus:(ContentStoreOnlineSupportStatus)status

    (void)updateWorldwideRoadMapFinished:(BOOL)success

    (void)onWorldwideRoadMapSupportEnabled

    (void)onWorldwideRoadMapSupportDisabled:(ReasonType)reason

  • Removed methods from GEMSdkDelegate:

    (BOOL)shouldUpdateWorldMapForStatus:(ContentStoreOnlineSupportStatus)status

    (void)updateWorldMapDisabled:(ReasonType)reason

  • New methods available in LandmarkObject:

    (void)setLandmarkDescription:(nonnull NSString *)description

    (void)setAuthor:(nonnull NSString *)value

    (void)setProviderId:(int)value

    (void)setTimeStamp:(nullable TimeObject*)object

    (void)setLandmarkGeoLocation:(nonnull GeoLocation *)location

    (void)setContactInfo:(nullable ContactInfoObject *)object

    (nonnull NSString*)getLandmarkNameFormatted

    (nonnull NSString*)getLandmarkDescriptionFormatted

    • Removed methods from LandmarkObject:

    (void)setCurrentPositionMark:(BOOL)state

    (BOOL)isCurrentPositionMarked

  • New methods available in MapViewController:

    (void)setCursorPosition:(CGPoint)point

    (nonnull NSArray <LandmarkObject *> *)getCursorSelectionLandmarks

    (nonnull NSArray <LandmarkObject *> *)getCursorSelectionStreets

    (nonnull NSArray <LandmarkObject *> *)getCursorSelectionOverlayItems

    (nonnull NSArray <LandmarkObject *> *)getCursorSelectionTrafficEvents

    (nonnull NSArray <LandmarkObject *> *)getCursorSelectionRoutes

    (nullable RouteInstructionObject *)getCursorSelectionRouteInstruction:(nonnull RouteObject *)routeObject

    (nonnull NSArray <LandmarkObject *> *)getNearestLocations:(nonnull GeoLocation *)location

    (void)startFollowingPositionWithAnimationDuration:(NSTimeInterval)duration zoomLevel:(int)level viewAngle:(double)angle completionHandler:(nonnull void(^)(BOOL success))handler

    (void)restoreFollowingPositionWithAnimationDuration:(NSTimeInterval)duration completionHandler:(nonnull void(^)(BOOL success))handler

    (void)setViewAngle:(double)value

    (double)getViewAngle

    (void)setTiltAngle:(double)angle followMode:(CameraFollowMode)mode

    (double)getTiltAngle

    (double)getTiltAngleWithFollowMode:(CameraFollowMode)followMode

  • Make MapViewControllerDelegate optional.

  • New methods available in MapViewControllerDelegate:

    (void)mapViewController:(nonnull MapViewController *)mapViewController onFollowingPositionModifyByTouchHandler:(BOOL)isModify

    (void)mapViewController:(nonnull MapViewController *)mapViewController onLongTouchPoint:(CGPoint)point

    (void)mapViewController:(nonnull MapViewController *)mapViewController didSelectStreets:(nonnull NSArray<LandmarkObject *> *)streets onTouchPoint:(CGPoint)point

    (void)mapViewController:(nonnull MapViewController *)mapViewController didSelectStreets:(nonnull NSArray<LandmarkObject *> *)streets onLongTouchPoint:(CGPoint)point

  • Removed methods from MapViewControllerDelegate:

    (void)mapViewController:(nonnull MapViewController *)mapViewController didSelectStreets:(nonnull NSArray<LandmarkObject *> *)streets

  • New methods available in PositionObject:

    (NSInteger)getSatelliteTime

    (PositionProvider)getProvider

    (double)getLatitude

    (double)getLongitude

    (nonnull GeoLocation*)getCoordinates

    (double)getAltitude

    (double)getSpeedAccuracy

    (double)getCourse

    (double)getCourseAccuracy

    (double)getHorizontalAccuracy

    (double)getVerticalAccuracy

    (PositionFixQuality)getFixQuality

    (BOOL)isValid

    (BOOL)hasCoordinates

    (BOOL)hasAltitude

    (BOOL)hasSpeedAccuracy

    (BOOL)hasCourse

    (BOOL)hasCourseAccuracy

    (BOOL)hasHorizontalAccuracy

    (BOOL)hasVerticalAccuracy

  • Removed methods from PositionObject:

    (nullable GeoLocation*)getPositionGeoLocation;

  • The following method is now deprecated in RouteInstructionObject:

    (nullable UIImage *)getTurnImage:(CGSize)size colorActiveInner:(nonnull UIColor*)colorActiveIn colorActiveOuter:(nonnull UIColor*)colorActiveOut colorInactiveInner:(nonnull UIColor*)colorInactiveIn colorInactiveOuter:(nonnull UIColor*)colorInactiveOut

  • New methods available in TurnDetailsObject:

    (nullable UIImage *)getTurnImage:(CGSize)size colorActiveInner:(nonnull UIColor*)colorActiveIn colorActiveOuter:(nonnull UIColor*)colorActiveOut colorInactiveInner:(nonnull UIColor*)colorInactiveIn colorInactiveOuter:(nonnull UIColor*)colorInactiveOut

    (int)getTurnImageId

[7.1.21.38.F7EA52F0] - 2021-09-20

Added

  • New method available in GEMSdk:

    (nonnull NSString *)getVersion

  • New classes available: PathObject, RouteBookmarksObject, RoutePreferencesObject.h

  • New methods available in MapViewController:

    (nonnull NSArray < RouteObject *> *)getPresentedRoutes

    (CGFloat)getScaleFactor

    (NSInteger)getPpiFactor

    (void)centerOnRouteInstruction:(nonnull RouteInstructionObject *)routeInstruction zoomLevel:(int)level animationDuration:(NSTimeInterval)duration completionHandler:(nonnull void(^)(BOOL success))handler

    (void)centerOnRouteTrafficEvent:(nonnull RouteTrafficEventObject *)trafficEvent zoomLevel:(int)level animationDuration:(NSTimeInterval)duration completionHandler:(nonnull void(^)(BOOL success))handler

    (void)centerOnArea:(nonnull RectangleGeographicAreaObject *)area zoomLevel:(int)level animationDuration:(NSTimeInterval)duration completionHandler:(nonnull void(^)(BOOL success))handler

  • New methods available in MapViewControllerDelegate:

    (void)mapViewController:(nonnull MapViewController *)mapViewController onPinch:(CGPoint)startPoint1 startPoint2:(CGPoint)startPoint2 toPoint1:(CGPoint)endPoint1 toPoint2:(CGPoint)endPoint2

  • New method available in NavigationInstructionObject:

    (nonnull NSString*)getCurrentStreetSpeedLimitFormatted

  • New methods available in PositionObject:

    (BOOL)hasSpeed

    (double)getSpeed

    (nonnull NSString *)getFormattedSpeed

    (nonnull NSString *)getFormattedSpeedUnit

  • New methods available in RouteObject:

    (nullable GeoLocation *)getCoordinateOnRoute:(int)distance

    (int)getDistanceOnRoute:(nonnull GeoLocation*)location activePart:(BOOL)activePart

    (nullable PathObject*)getPath:(int)start end:(int)end

  • New methods available in TimeObject:

    (BOOL)isValid

    (void)milliSecondSleep:(unsigned int)msec

    (NSUInteger)getEpoch

    (nonnull TimeObject *)getLocalTime

    (nonnull TimeObject *)getUniversalTime

    (void)setUniversalTime

    (void)setLocalTime

    (NSUInteger)asInt

    (void)fromInt:(NSInteger)timestamp

    (int)getYear

    (void)setYear:(int)value

    (int)getMonth

    (void)setMonth:(int)value

    (int)getDay

    (void)setDay:(int)value

    (int)getDayOfWeek

    (int)getHour

    (void)setHour:(int)value

    (int)getMinute

    (void)setMinute:(int)value

    (int)getSecond

    (void)setSecond:(int)value

    (int)getMillisecond

    (void)setMillisecond:(int)value

    (nonnull NSString *)toStr:(BOOL)utcTime

    (NSInteger)getTimeZoneMilliseconds

  • The following methods are now deprecated in NavigationContext:

    setTransportMode:(RouteTransportMode)mode

    (RouteTransportMode)getTransportMode

    setBuildTerrainProfile:(BOOL)state

    setRouteType:(RouteType)type

    setAvoidMotorways:(BOOL)state

    setAvoidTollRoads:(BOOL)state

    setAvoidFerries:(BOOL)state

    setAvoidTurnAroundInstruction:(BOOL)state

    setAvoidUnpavedRoads:(BOOL)state

    setAvoidCarpoolLanes:(BOOL)state

    setUseWheelchair:(BOOL)state

    setUseBikes:(BOOL)state

    setMaximumWalkDistance:(unsigned int)distance

    setAvoidTraffic:(BOOL)state

    setResultDetails:(RouteResultDetails)details

[7.1.21.35.6B2C9079] - 2021-08-30

Added

  • New method available in MapViewController:

    (void)setHighlightPinSize:(NSInteger)size

  • New methods available in MapViewControllerDelegate:

    (void)mapViewController:(nonnull MapViewController *)mapViewController onFollowingPositionStateChanged:(BOOL)isFollowingPosition

    (void)mapViewController:(nonnull MapViewController *)mapViewController onMapStyleChanged:(NSInteger)identifier

  • New method available in GeoLocation:

    (double)getDistance:(nonnull GeoLocation*)point

  • New methods available in NavigationContext:

    (RouteTransportMode)getTransportMode

    (void)setResultDetails:(RouteResultDetails)details

  • New enums available for NavigationContext:

    RouteResultDetailsFull

    RouteResultDetailsTimeDistance

    RouteResultDetailsPath

  • New methods available in SoundContext:

    (BOOL)isPlaying

    (void)cancel

    • New method available in PositionContext:

    (PositionDataType)getPositionDataType

  • New enums available for PositionContext:

    PositionDataTypeLive

    BuildingsVisibilityHide

    PositionDataTypePlayback

    PositionDataTypeUnavailable

  • New method available in ContentStoreObject:

    (ContentStoreOnlineType)getType

  • New enums available for ContentStoreObject:

    ContentStoreOnlineTypeViewStyleHighRes

    ContentStoreOnlineTypeViewStyleLowRes

    ContentStoreOnlineTypeRoadMap

    ContentStoreOnlineTypeHumanVoice

    ContentStoreOnlineTypeComputerVoice

  • New method available in HumanVoiceContext:

    (nonnull NSString*)getCountryName:(nonnull NSString*)code

    (nonnull NSString*)getNativeLanguage:(nonnull ContentStoreObject *)object

    (nullable UIImage*)getGenderImage:(HumanVoiceGender)gender size:(CGSize)size

[7.1.21.32.1CFA7043] - 2021-08-13

Added

  • New delegate method available in MapViewControllerDelegate:

    (void)mapViewController:(nonnull MapViewController *)mapViewController onRotatePoint:(CGPoint) startPoint2:(CGPoint) toPoint1:(CGPoint) toPoint2:(CGPoint) center:(CGPoint) delta:(double)

  • New methods available in MapViewController:

    setZoomLevel:(int)level animationDuration:(NSTimeInterval)duration

    (void)setCompassFollowUserInterfaceStyle:(BOOL)value

    (NSInteger)getStyleIdentifier

    (void)setMaxMatches:(int)value

    (void)setExactMatch:(BOOL)value

    (void)setSearchAddresses:(BOOL)value

    (void)setSearchMapPOIs:(BOOL)value

    (void)setSearchOnlyOnboard:(BOOL)value

    (void)setThresholdDistance:(int)threshold

    (BOOL)setCategory:(nonnull LandmarkCategoryObject*)category

    (void)setAllowFuzzyResults:(BOOL)value

    (void)cancelSearch

    (void)stopFollowingPosition

  • New methods available in ContentStoreObject:

    (nullable UIImage *)getAsyncImagePreview:(CGFloat)width completionHandler:(nonnull void(^)(UIImage* _Nullable image) )handler

  • New methods available in PositionContext:

    (BOOL)startProcessingLocationSevicesDataWithAllowBackgroundLocationUpdates:(BOOL)allowBackgroundLocationUpdates;

Changed

  • Fixed bug related to no network connection.

  • Faster search results with MapViewController search Api and more controller over search preferences.

  • The following methods are now deprecated in MapViewController:

    addPolylinesWithCoordinates

    removePolylines

  • The following methods are now deprecated in PositionContext:

    startProcessingLocationSevicesData

[7.1.21.30.47C453AA] - 2021-07-30

Added

  • New method and new enum available in GEMSdk:

    (void)verifySdk:(nonnull NSString*)authorizationKey completionHandler:(void(^)(BOOL success))handler

    AuthorizationKeyStatusValid

    AuthorizationKeyStatusExpired

    AuthorizationKeyStatusInvalidInput

    AuthorizationKeyStatusAccessDenied

    AuthorizationKeyStatusConnectionRequired

    AuthorizationKeyStatusError

  • New method available in GEMSdkDelegate:

    (void)authorizationKeyRejected

  • New methods available in AlarmContext:

    (void)enableSafetyCamera

    (void)disableSafetyCamera

    (BOOL)isSafetyCameraEnabled

    (void)enableSocialReports

    (void)disableSocialReports

    (BOOL)isSocialReportsEnabled

  • New methods available in PositionContext:

    (BOOL)startProcessingLocationSevicesData

    (BOOL)stopProcessingLocationSevicesData

    (BOOL)isProcessingLocationSevicesData

  • New methods available in MarkerCollectionObject:

    (void)setInnerColor:(nonnull UIColor *)color

    (void)setOuterColor:(nonnull UIColor *)color

    (void)setInnerSize:(double)size

    (void)setOuterSize:(double)size

    (void)setFillColor:(nonnull UIColor *)color

    (nonnull UIColor *)getInnerColor

    (nonnull UIColor *)getOuterColor

    (double)getInnerSize

    (double)getOuterSize

    (nonnull UIColor *)getFillColor

Changed

  • Fixed polyline outer size.

  • Fixed issue related to map style on fresh app install.

[7.1.21.30.F8FD4DB3] - 2021-07-27

Added

  • New methods available in GeoLocation:

    (BOOL)isValid

  • New methods available in LandmarkObject:

    (int)getLandmarkStoreIdentifier

  • New methods available in MapViewController:

    (void)showLandmarksFromAllCategories:(nonnull LandmarkStoreContext*)landmarkStore

    (void)hideLandmarksFromAllCategories:(nonnull LandmarkStoreContext*)landmarkStore

    (void)showLandmarksFromCategory:(nonnull LandmarkCategoryObject*)landmarkCategory context:(nonnull LandmarkStoreContext*)landmarkStore

    (void)hideLandmarksFromCategory:(nonnull LandmarkCategoryObject*)landmarkCategory context:(nonnull LandmarkStoreContext*)landmarkStore

  • New methods available in LandmarkStoreContext: (void)updateCategory:(nonnull LandmarkCategoryObject *)category

Changed

  • Methods signature changed in LandmarkStoreContext:

    (nonnull LandmarkCategoryObject *)getCategoryById:(int)categoryId

    (BOOL)addLandmark:(nonnull LandmarkObject*)landmark

    (BOOL)removeLandmark:(nonnull LandmarkObject*)landmark

    (void)removeAllLandmarks

    (BOOL)addLandmark:(nonnull LandmarkObject*)landmark toCategoryId:(int)categoryId

    (BOOL)removeLandmark:(nonnull LandmarkObject*)landmark fromCategoryId:(int)categoryId

    (nullable LandmarkObject *)getLandmark:(int)landmarkId

    (int)getLandmarkCount

    nonnull NSArray <LandmarkObject *> *)getLandmarks

    (int)getLandmarkCount:(int)categoryId

    (nonnull NSArray <LandmarkObject *> *)getLandmarks:(int)categoryId

[7.1.21.29.F6977F8B] - 2021-07-22

Added

  • New methods available in RectangleGeographicAreaObject:

    (GeographicAreaType)getType

    (void)setTopLeft:(nonnull GeoLocation*)location

    (void)setBottomRight:(nonnull GeoLocation*)location

    (BOOL)intersects:(nonnull RectangleGeographicAreaObject *)rectangle

    (BOOL)contains:(nonnull RectangleGeographicAreaObject *)rectangle

  • New methods available in LandmarkCategoryObject:

    (instancetype)initWithName:(nonnull NSString *)

    (void)setName:(nonnull NSString *)

    (void)setImage:(nonnull UIImage *)

  • New methods available in LandmarkObject:

    (void)setLandmarkName:(nonnull NSString *)

    (void)setLandmarkImage:(nonnull UIImage *)

  • New methods available in LandmarkStoreContext:

    (void)addCategory:(nonnull LandmarkCategoryObject *)category

    (void)removeCategory:(nonnull LandmarkCategoryObject *)category

    (nullable LandmarkCategoryObject *)getCategoryByName:(nonnull NSString *)categoryString

    (int)getId

    (LandmarkStoreType)getType;

    (nonnull NSArray <LandmarkCategoryObject *> *)getCategories

    (int)getLandmarkCount:(nonnull NSString*)category

    (nonnull NSArray <LandmarkObject *> *)getLandmarks:(nonnull NSString*)category

    (nullable LandmarkObject *)getLandmarkWithIdentifier:(int)identifier

    (nonnull NSArray <LandmarkObject *> *)getLandmarksWithRectangleGeographicArea:(nonnull RectangleGeographicAreaObject*)area

Changed

  • Fix app crash when switching between multiple MapViewController with polylines on the map view.

  • Removed deprecated methods from MapViewController.

[7.1.21.27.F104E3C4] - 2021-07-06

Added

  • New classes available ContactInfoObject, LandmarkStoreContext

  • New methods available in LandmarkObject:

    (nonnull NSArray <NSString *> *)getExtraInfo

    (nonnull NSArray <LandmarkCategoryObject *> *)getCategories

    (nullable RectangleGeographicAreaObject *)getGeographicArea

    (nullable ContactInfoObject *)getContactInfo

  • New enums available for BuildingsVisibility:

    BuildingsVisibilityDefault

    BuildingsVisibilityHide

    BuildingsVisibility2D

    BuildingsVisibility3D

  • New methods available in SearchContext:

    setAllowFuzzyResults:(BOOL)value

[7.1.21.26.FD631602] - 2021-07-02

Added

  • New methods available in MapsContext and MapStyleContext:

    (BOOL)isUpdateStarted

[7.1.21.25.FB8DC20C] - 2021-07-01

Added

  • New protocol ContentUpdateDelegate.

  • New methods available in GEMSdkDelegate:

    updateWorldMapDisabled:(ReasonType)reason

    updateWorldMapFinished:(BOOL)success

    (void)onlineConnectionStatusChanged:(OnlineConnectionStatus)status

  • New methods available in MapsContext and MapStyleContext:

    (nonnull NSString *)getWorldMapVersion

    checkForUpdateWithCompletionHandler:(nonnull void(^)(ContentStoreOnlineSupportStatus status))handler

    updateWithAllowCellularNetwork:(BOOL)allowCellularNetwork completionHandler:(nonnull void(^)(BOOL success))handler

    (void)cancelUpdate

    (NSInteger)getUpdateProgress

    (nonnull NSArray <ContentStoreObject *> *)getUpdateItems

    (nonnull NSString *)getUpdateSizeFormatted

  • New methods available in MapViewController:

    setBuildingsVisibility:(BuildingsVisibility)visibility

    (BOOL)isCameraMoving

Changed

  • Fix app crash when using more than one MapViewController.

  • Implemented support for map update on request.

[7.1.21.25.DDC98F41] - 2021-06-23

Added

  • Implemented support for GEMSdk delegate.

  • Implemented support to update the world map with SDK client approval.

  • New methods available in GEMSdk:

    (void)setAllowConnection:(BOOL)state

    (BOOL)getAllowConnection

  • New methods available in MapViewController:

    (int)getZoomLevelWithFollowMode:(CameraFollowMode)mode

    (void)setZoomLevel:(int)level point:(CGPoint)point followMode:(CameraFollowMode)mode animationDuration:(NSTimeInterval)duration

    (void)setEdgeAreaInsets:(UIEdgeInsets)insets

  • New methods available in RouteObject:

    (nullable RectangleGeographicAreaObject *)getGeographicArea

    (nullable TimeDistanceObject *)getTimeDistanceWithActivePart:(BOOL)activePart

  • New methods available in MapViewController:

    (void)set2DPerspectiveWithAnimationDuration

    (void)set3DPerspectiveWithAnimationDuration

[7.1.21.24.51C956AF] - 2021-06-17

Added

  • Implemented support for custom map style data buffer.

  • Implemented support for route profile ( new RouteTerrainProfileObject class )

  • Implemented support for calculating a route from a gpx file.

  • New methods available in MapViewController:

    (void)applyStyleWithStyleBuffer:(nonnull NSData *)styleBuffer smoothTransition:(BOOL)smooth;

  • New methods available in RouteObject:

    (nullable RouteTerrainProfileObject *)getTerrainProfile;

  • New methods available in NavigationContext:

    (void)calculateRouteWithStartWaypoints:(nonnull NSArray<LandmarkObject *> *)startArray buffer:(nonnull NSData*)data endWaypoints:(nonnull NSArray<LandmarkObject *> *)endArray completionHandler:(nonnull void(^)(NSArray<RouteObject *> *array))handler;

[7.1.21.23.9E891AB0] - 2021-06-11

Added

  • Implemented support for map view customization.

  • New methods available in MapViewController:

    (nullable GeoLocation *)transformScreenToWgs:(CGPoint)point

    (void)setFollowPositionCameraFocus:(CGPoint)point

    (CGPoint)getFollowPositionCameraFocus

    (void)setMinimumAllowedZoomLevel:(int)level

    (void)setMaximumAllowedZoomLevel:(int)level

    (void)setHighlightPinImage:(nonnull UIImage *)image

[7.1.21.23.7A56AE1E] - 2021-06-10

Added

  • Implemented support for public transit route description.

  • Implemented support for PTRouteSegmentObject class.

  • Implemented support for RectangleGeographicAreaObject class.

[7.1.21.22.0F756BC9] - 2021-06-04

Added

  • Implemented support for GenericCategoriesContext class.

  • Implemented support for LandmarkCategoryObject class.

  • New methods available:

    SearchContext: (BOOL)setCategory:(nonnull LandmarkCategoryObject*)category

    SearchInterface: (BOOL)setCategory:(gem::LandmarkCategory)category

Changed

ApplicationContext renamed to GEMSdk

[7.1.21.22.82497343] - 2021-05-31

Added

  • Implemented support for HumanVoiceContext class.

  • Implemented support for SoundObject class.

  • New methods available:

    SoundContext: setUseTtsWithCompletionHandler

    SoundContext: setUseHumanVoiceWithIdentifier

    SoundContext: playSound:(nonnull SoundObject *)object

    SoundContext: playText:(nonnull NSString *)text

Changed

ContentStoreObject: getImagePreview

MapViewController: applyStyleWithStyleIdentifier

[7.1.21.22.811AFB6] - 2021-05-24

Added

  • Implemented support for road codes information.

  • Implemented support for safety camera notification.

  • New classes available:

    AlarmContext

    AlarmContextDelegate

    OverlayItemObject

    RoadInfoObject

[7.1.21.19.7F5A4140] - 2021-05-11

Added

  • Implemented support for route instructions.

  • New classes available:

    RouteSegmentObject

    RouteInstructionObject

    SignpostDetailsObject

    TimeDistanceObject

    TurnDetailsObject

[7.1.21.19.227B51FF] - 2021-05-10

Added

  • Implemented support for download maps.

  • New classes:

    MapsContext

    ContentStoreObjectStatus

Changed

  • ContentStoreObject: (nonnull NSArray<NSString *> *)getCountryCodes

[7.1.21.17.3F055C56] - 2021-04-26

Added

  • Implemented support for map compass.

[7.1.21.16.2861B264] - 2021-04-19

Added

  • Implemented support for Address Search.

  • Implemented support for get/set map view zoom level.

  • Implemented support for map view pan direction ( CarPlay support )

Changed

  • New map view controller init method. Add support for scale factor parameter.

  • (instancetype)initWithPpi:(NSInteger)ppi scale:(CGFloat)scale

[Unreleased] - 2021-03-09

[7.1.21.10.75657511]: Initial release