iOS SDK change log from version 2.3.0 to version 2.4.0

SKAdvisorSettings class

@property(nonatomic, strong) NSString *language;

changed to

@property(nonatomic, assign) SKAdvisorLanguage language;

New property

/** The type of the advisor. It can be Text to Speech or audio file based.
*/
@property(nonatomic, assign) SKAdvisorType advisorType;

SKAdvisorTTSSettings class

New class

/** The SKAdvisorTTSSettings is used to store information about the text to speach settings.
*/
@interface SKAdvisorTTSSettings : NSObject
/** Speed rate of TTS.
*/
@property(nonatomic, assign) float rate;
/** Pitch multiplier for the TTS.
*/
@property(nonatomic, assign) float pitchMultiplier;
/** Volume of TTS.
*/
@property(nonatomic, assign) float volume;
/** Delay before the string is spoken.
*/
@property(nonatomic, assign) NSTimeInterval preUtteranceDelay;
/** Delay after the string is spoken.
*/
@property(nonatomic, assign) NSTimeInterval postUtteranceDelay;
/** A newly initialized SKAdvisorTTSSettings.
*/
+ (instancetype)advisorTTSSettings;

SKAnnotation class

Deprecated properties

/** The absolute path to the image file to be added as an annotation. The image must be a square image and the size must be a power of 2. ( 32x32, 64x64, etc. ). DEPRECATED: Use the annotationView property for displaying custom images as annotations.
*/
@property(nonatomic) NSString *imagePath DEPRECATED_ATTRIBUTE;
/** The size of the image (width and height) in pixels. DEPRECATED: Use the annotationView property for displaying custom images as annotations.
*/
@property(nonatomic, assign) int imageSize DEPRECATED_ATTRIBUTE;

SKCalloutView class

New property

/** The minimum zoom level on which the callout view will be visible.
*/
@property(nonatomic, assign) CGFloat minZoomLevel;

SKCurrentPositionAnimationSettings class

SKPulseAnimationSettings class renamed to SKCurrentPositionAnimationSettings.

SKDefinitions class

New error codes

typedef NS_ENUM (NSInteger, SKRoutingErrorCode)
{
SKRoutingErrorCodeInvalidRouteMode,
SKRoutingErrorCodeFailedReadingRoutingProfiles,
SKRoutingErrorCodeInconsistentRouteProfiles,
SKRoutingErrorCodeCountryProfilesDefinedMultipleTimes,
SKRoutingErrorCodeInvalidCountryCode,
SKRoutingErrorCodeComputationCancelled,
SKRoutingErrorCodeComputationError,
SKRoutingErrorCodeNotEnoughMemory,
SKRoutingErrorCodeRouteCannotBeCalculated,
SKRoutingErrorCodeMetaFilesIssue,
SKRoutingErrorCodeAppIsOffline,
SKRoutingErrorCodeInternetIsTurnedOff,
SKRoutingErrorCodeRouterNot_Initialized,
SKRoutingErrorCodeNoExposedRoute,
SKRoutingErrorCodeOutputNotRequestedByComputation,
SKRoutingErrorCodeInvalidRouteIndex,
SKRoutingErrorCodeInvalidRouteId,
SKRoutingErrorCodeMissingElevationTile,
SKRoutingErrorCodeMissingBikeBarriersConfigFile,
SKRoutingErrorCodeInconsistentBikeBarriersConfigFile,
SKRoutingErrorCodeMissingSlopesConfigFile,
SKRoutingErrorCodeInconsistentSlopesConfigFile,
SKRoutingErrorCodeMissingRoadSurfaceConfigFile,
SKRoutingErrorCodeInconsistentRoadSurfaceConfigFile,
SKRoutingErrorCodeMissingRoadWidthConfigFile,
SKRoutingErrorCodeInconsistentRoadWidthConfigFile,
SKRoutingErrorCodeInconsistentConfigFile,
SKRoutingErrorCodeInconsistentServerMaps,
SKRoutingErrorCodeInvalidNumberOfRoutes,

SKRoutingErrorCodeNoResultsFound = 601,
SKRoutingErrorCodeMissingArgument = 610,
SKRoutingErrorCodeInvalidArgument = 611,
SKRoutingErrorCodeUnsupportedServerCommand = 621,
SKRoutingErrorCodeUnsupportedRequestType = 631,
SKRoutingErrorCodeSameStartAndDestinationCoordinate = 680,
SKRoutingErrorCodeInvalidStartCoordinate = 681,
SKRoutingErrorCodeInvalidDestinationCoordinate = 682,
SKRoutingErrorCodeCannotBeCalculated = 683,
SKRoutingErrorCodeInvalidViaPoint = 684,
SKRoutingErrorCodeInternalError = 690,
SKRoutingErrorCodeExtComputationCanceled = 901,
SKRoutingErrorCodeRouteCalculationTurnedOffline = 909, //The app was turned to offline mode, during an online routing
SKRoutingErrorCodeInternetTurnedOff = 910,
};

New enums

SKAdvisorType

typedef NS_ENUM (NSInteger, SKAdvisorType){
SKAdvisorTypeAudioFiles = 0,
SKAdvisorTypeTextToSpeech
};

SKAdvisorLanguage

typedef NS_ENUM (NSInteger, SKAdvisorLanguage){
SKAdvisorLanguageDA = 0,
SKAdvisorLanguageDE,
SKAdvisorLanguageEN,
SKAdvisorLanguageEN_US,
SKAdvisorLanguageES,
SKAdvisorLanguageFR,
SKAdvisorLanguageHU,
SKAdvisorLanguageIT,
SKAdvisorLanguageNL,
SKAdvisorLanguagePL,
SKAdvisorLanguagePT,
SKAdvisorLanguageRO,
SKAdvisorLanguageRU,
SKAdvisorLanguageSV,
SKAdvisorLanguageTR
};

SKMapLanguage changed to SKLanguage

New structs

SKPositionerAlignment

typedef struct {
float vertical;
float horizontal;
} SKPositionerAlignment;

SKSpeedWarningThreshold

typedef struct {
float inCity;
float outsideCity;
} SKSpeedWarningThreshold;

SKRouteRestrictions

typedef struct {
BOOL avoidTollRoads;
BOOL avoidHighways;
BOOL avoidFerryLines;
BOOL avoidBicycleWalk;
BOOL avoidBicycleCarry;
} SKRouteRestrictions;

SKSpeedInterval

typedef struct
{
float minimumSpeed;
float maximumSpeed;
} SKSpeedInterval;

SKGPXDataComponent class

Removed from public headers.

SKMapInternationalizationSettings class

@property(nonatomic, assign) BOOL showBothRows;

changed to

@property(nonatomic, assign) BOOL showBothOptions;

SKMapPackageDownloadInfo class

New property

/** An array containing the URLs for the two unarchived namebrowser files. This is an alternative to downloading the namebrowser zip, without having to unarchive it.
*/
@property(nonatomic, strong) NSArray *unarchivedNamebrowserFileURLs;

SKMapSettings class

New properties

/** Allows or stops the map rendering when the map is visible. Default value is YES. When the map is not visible, rendering is automatically stopped.
*/
@property(nonatomic, assign) BOOL enabledRendering;
/** Manages the displaying of debug information, like the center coordinate of the map and the zoom level. By default is set to NO.
*/
@property(nonatomic, assign) BOOL showDebugView;
/** Marks the path behind the current position with trail settings.
*/
@property(nonatomic, strong) SKTrailSettings *trailSettings;
/** Controls if the map follows the user position. The default value is NO.
*/
@property(nonatomic, assign) BOOL followUserPosition;
/** Controls the heading mode of the map. The default value is SKHeadingModeNone.
*/
@property(nonatomic, assign) SKHeadingMode headingMode;

Deprecated property

/** Controls if the map follows the user position, orientation or none of them. Default value is SKMapFollowerModeNone. DPERECATED: Use the followUserPosition and headingMode members.
*/
@property(nonatomic, assign) SKMapFollowerMode followerMode DEPRECATED_ATTRIBUTE;

SKMapView+RealReach category

New method

/** Verifies is a coordinate is inside the RealReach polygon.
@param coordinate The coordinate to be checked.
@return A boolean value indicating if the coordinate is inside the rendered RealReach polygon.
*/
-(BOOL)isCoordinateInsideRealReachPolygon:(CLLocationCoordinate2D)coordinate;

SKMapView class

New property

/** All the annotations that are currently added to this map view.
*/
@property(nonatomic, readonly) NSArray *annotations;

Deprecated properties

/** Allows or stops the map rendering when the map is visible. Default value is YES. When the map is not visible, rendering is automatically stopped. DPERECATED: Use the enabledRendering property of SKMapSettings.
*/
@property(nonatomic, assign) BOOL enabledRendering DEPRECATED_ATTRIBUTE;
/** Manages the displaying of debug information, like the center coordinate of the map and the zoom level. By default is set to NO. DPERECATED: Use the showDebugView property of SKMapSettings.
*/
@property(nonatomic, assign) BOOL showDebugView DEPRECATED_ATTRIBUTE;

SKNavigationDelegate class

Changed delegate methods:

/** Called when a new filtered audio advice should be played. This is called when a filtered advice is generated. It's not called as often as the routingService:didUpdateUnfilteredAudioAdvices:withDistance:.
Distance and other logical filters are applied, so that only useful advices are played. If custom filters are required, implement the routingService:didUpdateUnfilteredAudioAdvices: method and apply your own filter.
@param routingService The routing service.
@param audioAdvices An array of mp3 files names. The actual mp3 files are located in the SKAdvisorResources.bundle.
*/
- (void)routingService:(SKRoutingService *)routingService didUpdateFilteredAudioAdvices:(NSArray *)audioAdvices;
/** Called when a new audio advice is generated. This should be used if custom distance filters have to be applied to generated advices. Otherwise, use the routingService:didUpdateFilteredAudioAdvices:withDistance: callback.
@param routingService The routing service.
@param audioAdvices An array of mp3 files names. The actual mp3 files are located in the SKAdvisorResources.bundle.
@param distance The distance to the location of the advice. This can be used for filtering.
*/
- (void)routingService:(SKRoutingService *)routingService didUpdateUnfilteredAudioAdvices:(NSArray *)audioAdvices withDistance:(int)distance;

changed to:

/** Called when a new audio advice instruction is generated. This should be used if custom distance filters have to be applied to generated advices. Otherwise, use the routingService:didUpdateFilteredAudioInstruction:forLanguage callback.
@param routingService The routing service.
@param instruction The advice instruction in readable format.
@param language The language of the instruction.
@param distance The distance to the location of the advice. This can be used for filtering.
@return If it's YES the unifiltered audio instruction will be played automatically.
*/
- (BOOL)routingService:(SKRoutingService *)routingService didUpdateUnfilteredAudioInstruction:(NSString*)instruction withDistance:(int)distance forLanguage:(SKAdvisorLanguage)language;
/** Called when a new filtered audio advice instruction will be played. This is called when a filtered advice instruction is generated. It's not called as often as the routingService:didUpdateUnfilteredAudioInstruction:withDistance:forLanguage:. Distance and other logical filters are applied, so that only useful advices are played. If custom filters are required, implement the routingService:didUpdateUnfilteredAudioInstruction:withDistance:forLanguage: method and apply your own filter.
@param routingService The routing service.
@param instruction The advice instruction in readable format.
@param language The language of the instruction.
@return If it's YES the filtered audio instruction will be played automatically.
*/
- (BOOL)routingService:(SKRoutingService *)routingService didUpdateFilteredAudioInstruction:(NSString*)instruction forLanguage:(SKAdvisorLanguage)language;
/**
skFirstVisualAdviceChanged:secondaryVisualAdviceChanged:isLastAdvice:withRouteState: is called when the first or secondary visual advice is changed, or the last advice exists before reaching the destination.
@param routingService - The routing service
@param isFirstVisualAdviceChanged It indicates the changing of the first visual advice.
@param isSecondaryAdviceChanged It indicates the changing of the secondary visual advice.
@param isLastAdvice Specifies if this is the last visual advice before reaching the destination.
@param routeState Contains information about how to generate a visual advice image.
*/
- (void)routingService:(SKRoutingService *)routingService didChangeFirstVisualAdvice:(BOOL)isFirstVisualAdviceChanged withSecondVisualAdvice:(BOOL)isSecondaryAdviceChanged lastAdvice:(BOOL)isLastAdvice routeState:(SKRouteState *)routeState;

divided to:

/** Is called when the first visual advice is changed and when the last advice becomes available before reaching the destination.
@param routingService The routing service.
@param currentAdvice Contains information about the current advice.
@param isLastAdvice Specifies if this is the last visual advice before reaching the destination.
*/
- (void)routingService:(SKRoutingService *)routingService didChangeCurrentAdvice:(SKRouteAdvice *)currentAdvice isLastAdvice:(BOOL)isLastAdvice;
/** Is called when the next visual advice is changed and when the last advice becomes available before reaching the destination.
@param routingService The routing service.
@param nextAdvice Contains information about the next advice.
@param isLastAdvice Specifies if this is the last visual advice before reaching the destination.
*/
- (void)routingService:(SKRoutingService *)routingService didChangeNextAdvice:(SKRouteAdvice *)nextAdvice isLastAdvice:(BOOL)isLastAdvice;
/** Is called when the second visual advice is changed and when the last advice becomes available before reaching the destination.
@param routingService The routing service.
@param secondAdvice Contains information about the second advice.
@param isLastAdvice Specifies if this is the last visual advice before reaching the destination.
*/
- (void)routingService:(SKRoutingService *)routingService didChangeSecondAdvice:(SKRouteAdvice *)secondAdvice isLastAdvice:(BOOL)isLastAdvice;

New methods:

/** Called when entering the via point area. The via point is identified by the index parameter of this callback.
@param routingService The routing service.
@param index The index of the via point.
*/
- (void)routingService:(SKRoutingService *)routingService didEnterViaPointArea:(int)index;
/** Called when a via point of the route used in navigation is reached. The via point is identified by the index parameter of this callback.
@param routingService The routing service.
@param index The index of the via point.
*/
- (void)routingService:(SKRoutingService *)routingService didReachViaPointWithIndex:(int)index;
/** Called when exiting the via point area. The via point is identified by the index parameter of this callback.
@param routingService The routing service.
@param index The index of the via point.
*/
- (void)routingService:(SKRoutingService *)routingService didExitViaPointArea:(int)index;

Deprecated delegate methods:

/** Called when the current or next advice instruction is changed. Deprecated: use the routingService:didUpdateFilteredAudioInstruction:forLanguage: callback
@param routingService The routing service.
@param currentAdviceInstruction The instruction of the current advice.
@param nextAdviceInstruction The instruction of the next advice.
*/
- (void)routingService:(SKRoutingService *)routingService didChangeCurrentAdviceInstruction:(NSString *)currentAdviceInstruction nextAdviceInstruction:(NSString *)nextAdviceInstruction DEPRECATED_ATTRIBUTE;
/**
skFirstVisualAdviceChanged:secondaryVisualAdviceChanged:isLastAdvice:withRouteState: is called when the first or secondary visual advice is changed, or the last advice exists before reaching the destination.
@param routingService - The routing service
@param isFirstVisualAdviceChanged It indicates the changing of the first visual advice.
@param isSecondaryAdviceChanged It indicates the changing of the secondary visual advice.
@param isLastAdvice Specifies if this is the last visual advice before reaching the destination.
@param currentAdvice Contains information about the current advice.
@param nextAdvice Contains information about the next advice.
@param secondAdvice Contains information about the second advice.
*/
- (void)routingService:(SKRoutingService *)routingService didChangeFirstVisualAdvice:(BOOL)isFirstVisualAdviceChanged withSecondVisualAdvice:(BOOL)isSecondaryAdviceChanged lastAdvice:(BOOL)isLastAdvice currentAdvice:(SKRouteAdvice *)currentAdvice nextAdvice:(SKRouteAdvice *)nextAdvice secondAdvice:(SKRouteAdvice *)secondAdvice DEPRECATED_ATTRIBUTE;
/** Called when a new filtered audio advice should be played. This is called when a filtered advice is generated. It's not called as often as the routingService:didUpdateUnfilteredAudioAdvices:withDistance:.
Distance and other logical filters are applied, so that only useful advices are played. If custom filters are required, implement the routingService:didUpdateUnfilteredAudioAdvices: method and apply your own filter. Use the text to speech version of this callback routingService:didUpdateFilteredAudioInstruction:forLanguage:.
@param routingService The routing service.
@param audioAdvices An array of mp3 files names. The actual mp3 files are located in the SKAdvisorResources.bundle.
*/
- (void)routingService:(SKRoutingService *)routingService didUpdateFilteredAudioAdvices:(NSArray *)audioAdvices DEPRECATED_ATTRIBUTE;
/** Called when a new audio advice is generated. This should be used if custom distance filters have to be applied to generated advices. Otherwise, use the routingService:didUpdateFilteredAudioAdvices callback.
@param routingService The routing service. DEPRECATED: Use the text to speech version of this callback routingService:didUpdateUnfilteredAudioInstruction:withDistance:forLanguage:.
@param audioAdvices An array of mp3 files names. The actual mp3 files are located in the SKAdvisorResources.bundle.
@param distance The distance to the location of the advice. This can be used for filtering.
*/
- (void)routingService:(SKRoutingService *)routingService didUpdateUnfilteredAudioAdvices:(NSArray *)audioAdvices withDistance:(int)distance DEPRECATED_ATTRIBUTE;

SKNavigationSettings class

Deprecated properties

/** Used for changing the position of the car position icon on the vertical axis. It is a scale which indicates the distance between the icon and the center of the screen (in [ -0.5, 0.5 ] interval).
The default value is -0.25. DEPRECATED: Use the vertical member of the positionerAlignment property.
*/
@property(nonatomic, assign) float positionerVerticalAlignment DEPRECATED_ATTRIBUTE;
/** Used for changing the position of the car position icon on the horizontal axis. It is a scale which indicates the distance between the icon and the center of the screen (in [ -0.5, 0.5 ] interval).
The default value is 0. DEPRECATED: Use the horizontal member of the positionerAlignment property.
*/
@property(nonatomic, assign) float positionerHorizontalAlignment DEPRECATED_ATTRIBUTE;
/** Sets the threshold for speed warning callbacks inside cities. If the current speed is greater than current speed limit + speedWarningThresholdInCity, the routingService:didUpdateSpeedWarningToStatus:withAudioWarnings:insideCity: callback from the SKNavigationDelegate is called. DEPRECATED: Use the inCity member of the speedWarningThreshold property.
*/
@property(nonatomic, assign) double speedWarningThresholdInCity DEPRECATED_ATTRIBUTE;
/** Sets the threshold for speed warning callbacks outside cities. If the current speed is greater than current speed limit + speedWarningThresholdOutsideCity, the routingService:didUpdateSpeedWarningToStatus:withAudioWarnings:insideCity: callback from the SKNavigationDelegate is called. DEPRECATED: Use the outsideCity member of the speedWarningThreshold property.
*/
@property(nonatomic, assign) double speedWarningThresholdOutsideCity DEPRECATED_ATTRIBUTE;
/** Marks the path behind the current position with trail settings. DEPRECATED: Use the trailSettings property of the SKMapSettings object.
*/
@property(nonatomic, strong) SKTrailSettings *trail DEPRECATED_ATTRIBUTE;

New properties

/** The transportation mode of the navigation. Default is SKTransportCar.
*/
@property(nonatomic, assign) SKTransportMode transportMode;
/** Used for changing the position of the car position icon on the vertical and horizontal axis. It is a scale which indicates the distance between the icon and the center of the screen (in [ -0.5, 0.5 ] interval).
The default value is -0.25.
*/
@property(nonatomic, assign) SKPositionerAlignment positionerAlignment;
/** Sets the threshold for speed warning callbacks in and outside cities. If the current speed is greater than current speed limit + the speedWarningThreshold, the routingService:didUpdateSpeedWarningToStatus:withAudioWarnings:insideCity: callback from the SKNavigationDelegate is called.
*/
@property(nonatomic, assign) SKSpeedWarningThreshold speedWarningThreshold;
/** The zoomLevelConfigurations is used for automatic zooming during navigation based on device's speed. It must contain only SKZoomLevelConfiguration objects. By default it is nil which means that the automatic zooming is disabled.
*/
@property(nonatomic, strong) NSArray *zoomLevelConfigurations;
/** The viapoint notification distance. The routingService:didEnterViaPointArea: and routingService:didExitViaPointArea: are called from the SKNavigationDelegate based in this given distance. The default value is 200 meters.
*/
@property(nonatomic, assign) int viaPointNotificationDistance;

SKMapPackageDownloadInfo class

New property

/**An array of SKMapPackage objects with installed offline packages that are not at the latest available map version. Check SKMapsVersioningManager for more versioning information.
*/
@property(nonatomic, readonly, strong) NSArray *outdatedOfflineMapPackages;

SKOverlay class

New property:

/** A unique identifier for the overlay.
*/
@property(nonatomic, assign) int identifier;

Changed methods

/** Adds a polygon overlay on the map.

@param polygon Stores all the information about the polygon.

@return The result of the operation.

*/

- (int)addPolygon:(SKPolygon *)polygon;



/** Adds a polyline overlay on the map.

@param polyline Stores all the information about the polyline.

@return The result of the operation.

*/

- (int)addPolyline:(SKPolyline *)polyline;



/** Adds a circle overlay on the map.

@param circle Stores all the information about the circle.

@return The result of the operation.

*/

- (int)addCircle:(SKCircle *)circle;

to

/** Adds a polygon overlay on the map.

@param polygon Stores all the information about the polygon.

@return The result of the operation.

*/

- (BOOL)addPolygon:(SKPolygon *)polygon;



/** Adds a polyline overlay on the map.

@param polyline Stores all the information about the polyline.

@return The result of the operation.

*/

- (BOOL)addPolyline:(SKPolyline *)polyline;



/** Adds a circle overlay on the map.

@param circle Stores all the information about the circle.

@return The result of the operation.

*/

- (BOOL)addCircle:(SKCircle *)circle;

SKPOITracker class

Changed to be singleton.

New methods

/** Returns the singleton SKRoutingService instance.
*/
+ (instancetype)sharedInstance;

Changed methods

- (BOOL)startPOITrackerWithRadius:(int)radius refreshMargin:(double)refreshMargin forPOITypes:(NSArray *)poiTypes;

changed to

- (void)startPOITrackerWithRadius:(int)radius refreshMargin:(double)refreshMargin forPOITypes:(NSArray *)poiTypes;
- (BOOL)stopPOITracker;

changed to

- (void)stopPOITracker;

SKPositionerService class

New property

/** Indicates whether the positioner will still work when the client application is in background. Default value is NO. If the client still requires positions when the app is in backgorund, set to YES.
*/
@property(nonatomic, assign) BOOL worksInBackground;

Deprecated property

/** The current position stored by the library, in the SKPosition format. DEPRECATED: Use the currentCoordinate property for for getting the current position.
*/
@property(nonatomic, readonly, assign) SKPosition currentPosition DEPRECATED_ATTRIBUTE;

Changed methods

- (void)reportGPSPosition:(CLLocation*)reportedCoordinate;

changed to

- (void)reportGPSLocation:(CLLocation*)location;

New method

/** Returns the elevation in meters at the given location. Returns 0 if the tiles for that location are not yet loaded.
@param coordinate Location where the elevation is returned.
*/
- (void)requestElevationAtCoordinate:(CLLocationCoordinate2D)coordinate;

SKPositionerServiceDelegate protocol

New methods

/** Called when the elevation for a coordinate is ready.
@param positionerService The positioner service.
@param elevation The elevation value.
@param coordinate The coordinate where the elevation has been retrieved.
*/
- (void)positionerService:(SKPositionerService *)positionerService didRetrieveElevation:(float)elevation atCoordinate:(CLLocationCoordinate2D)coordinate;
/** Called when the elevation for a coordinate is ready.
@param positionerService The positioner service.
@param elevation The elevation value.
@param coordinate The coordinate where the elevation has been retrieved.
*/
- (void)positionerService:(SKPositionerService *)positionerService didFailToRetrieveElevationAtCoordinate:(CLLocationCoordinate2D)coordinate;

SKPulseAnimationSettings class

Renamed to SKCurrentPositionAnimationSettings.

SKRealReachSettings class

Removed property

/** The number of objects in the wattHour array.
*/
@property(nonatomic, assign) int wattHourSize;

SKRouteAdvice class

New properties

/** The type of the street.
*/
@property(nonatomic, assign) int streetType;
/** The code of the country.
*/
@property(nonatomic, strong) NSString *countryCode;
/** Contains information about how to generate the visual advice images.
*/
@property(nonatomic, strong) SKCrossingDescriptor *crossingDescriptor;

SKRouteAlternativeSettings class

New property

/** Indicates whether to avoid toll roads, highways (Motorways & Motorway links), ferry lines, roads that make the user walk along his bike or carry his bike when calculating the route.
*/
@property(nonatomic, assign) SKRouteRestrictions routeRestrictions;

Deprecated properties


/** Indicates whether to avoid toll roads when calculating the route. DPERECATED: Use the avoidTollRoads member of the routeRestrictions property.
*/
@property(nonatomic, assign) BOOL avoidTollRoads DEPRECATED_ATTRIBUTE;
/** Indicates whether to avoid highways (Motorways & Motorway links) when calculating the route. DPERECATED: Use the avoidHighways member of the routeRestrictions property.
*/
@property(nonatomic, assign) BOOL avoidHighways DEPRECATED_ATTRIBUTE;
/** Indicates whether to avoid ferry lines when calculating the route. DPERECATED: Use the avoidFerryLines member of the routeRestrictions property.
*/
@property(nonatomic, assign) BOOL avoidFerryLines DEPRECATED_ATTRIBUTE;
/** Indicates whether to avoid roads that make the user walk along his bike when calculating the route. DPERECATED: Use the avoidBicycleWalk member of the route restrictions property. DPERECATED: Use the avoidBicycleWalk member of the routeRestrictions property.
*/
@property(nonatomic, assign) BOOL avoidBicycleWalk DEPRECATED_ATTRIBUTE;
/** Indicates whether to avoid roads that make the user carry his bike when calculating the route. DPERECATED: Use the avoidBicycleCarry member of the route restrictions property. DPERECATED: Use the avoidBicycleCarry member of the routeRestrictions property.
*/
@property(nonatomic, assign) BOOL avoidBicycleCarry DEPRECATED_ATTRIBUTE;

SKRouteInformation class

New property

/** The viapoints on the route.
*/
@property(nonatomic, strong) NSArray *viaPointsOnRoute;

SKRouteSettings class

New property

/** Indicates whether to avoid toll roads, highways (Motorways & Motorway links), ferry lines, roads that make the user walk along his bike or carry his bike when calculating the route.
*/
@property(nonatomic, assign) SKRouteRestrictions routeRestrictions;

Deprecated properties

/** Indicates whether to avoid toll roads when calculating the route. DPERECATED: Use the avoidHighways member of the route restrictions property.
*/
@property(nonatomic, assign) BOOL avoidTollRoads DEPRECATED_ATTRIBUTE;
/** Indicates whether to avoid highways (Motorways & Motorway links) when calculating the route. DPERECATED: Use the avoidHighways member of the routeRestrictions property.
*/
@property(nonatomic, assign) BOOL avoidHighways DEPRECATED_ATTRIBUTE;
/** Indicates whether to avoid ferry lines when calculating the route. DPERECATED: Use the avoidFerryLines member of the routeRestrictions property.
*/
@property(nonatomic, assign) BOOL avoidFerryLines DEPRECATED_ATTRIBUTE;
/** Indicates whether to avoid roads that make the user walk along his bike when calculating the route. DPERECATED: Use the avoidBicycleWalk member of the routeRestrictions property.
*/
@property(nonatomic, assign) BOOL avoidBicycleWalk DEPRECATED_ATTRIBUTE;
/** Indicates whether to avoid roads that make the user carry his bike when calculating the route. DPERECATED: Use the avoidBicycleCarry member of the routeRestrictions property.
*/
@property(nonatomic, assign) BOOL avoidBicycleCarry DEPRECATED_ATTRIBUTE;

SKRouteState class

Removed class.

SKRoutingDelegate protocol

Removed delegate method

/** Called when a route calculation started with calculateRouteWithRequest: is finished.
@param routingService The routing service
@param response The response, in a JSON format.
*/
- (void)routingService:(SKRoutingService *)routingService didFinishRouteRequestWithJSONResponse:(NSString *)response;

SKRoutingService+GPSFiles category

New method

/**Starts a route calculation, based on a predefined array of coordinates. The routingDelegate will receive calculation status notifications.
@param route The settings for calculating the route. Some setting won't be used in this case, such as start and destination coordinate, since the route locations are predefined.
@param locations An array of CLLocation objects that define the custom route.
*/
- (void)calculateRouteWithSettings:(SKRouteSettings *)route customLocations:(NSArray*)locations;

SKRoutingService class

New methods

/** Generates and returns an image about the visual advice using the given configuration.
@param routeAdvice Contains all the information about an advice.
@param visualAdviceColor The SKVisualAdviceConfiguration is used to store the colors of a generated visual advice image.
*/
- (UIImage *)visualAdviceImageForRouteAdvice:(SKRouteAdvice *)routeAdvice color:(SKVisualAdviceConfiguration *)visualAdviceColor;
/** Adds a viapoint to an already existing route. After using calculateRoute, further viapoints can be added to the route (viaPoints array from SKRouteSettings contains the predefined route viapoint). Adding a viapoint in navigation mode triggers a re-routing, in map mode triggers the re-calculation of the current route.
@param viaPoint Stores the information about the viapoint.
@param viaPointID Identifies the via point after which the new via point is inserted. -1 should be used to insert the new viapoint to the beginning of the viapoint list.
*/
- (void)addViaPoint:(SKViaPoint *)viaPoint afterViaPointWithID:(int)viaPointID;
/** Removes the viapoint (identified with viaPointID). After using calculateRoute, predefined viapoints can be removed from the route (viaPoints array from SKRouteSettings contains the predefined route viapoint). Removing a viapoint in navigation mode triggers a re-routing, in map mode triggers the re-calculation of the current route.
@param viaPointID Identifies the via point.
*/
- (void)removeViaPoint:(int)viaPointID;

SKSearchService class

New property

/** The language in which the search results are returned. The default value is SKMapLanguageEN.
*/
@property(nonatomic, assign) SKLanguage searchLanguage;

SKTrackablePOIRule

New property

/** If set to YES, an audio warning will be played, via SKNavigationDelegate. Default is NO.
*/
@property(nonatomic, assign) BOOL playAudioWarning;

SKTTSPlayer class

New class

/** SKTTSPlayer delegate, inherits from AVSpeechSynthesizerDelegate, adding TTSPlayer:willPlayUtterance: callback.
*/
@protocol SKTTSPlayerDelegate 
/** Called when the TTS player will begin playing an utterance.
@oaram TTSPlayer The TTSPlayer instance.
@param utterance The utterance to be played.
*/
-(void)TTSPlayer:(SKTTSPlayer*)TTSPlayer willPlayUtterance:(AVSpeechUtterance*)utterance;
@end
/** The actual TTS player. transforms strings into audio instructions.
*/
@interface SKTTSPlayer : NSObject
/** The delegate of the player.
*/
@property(nonatomic, weak) id delegate;
/** Input for TTS configuration.
*/
@property(nonatomic, strong) SKAdvisorTTSSettings *textToSpeechConfig;
/** Returns the singleton SKTTSPlayer instance.
*/
+ (instancetype)sharedInstance;
/** Plays the given instruction in the given language.
@param instruction The advice instruction to be spoken by the TTS.
@param language The language of the instruction.
*/
- (void)playString:(NSString*)instruction forLanguage:(SKAdvisorLanguage)language;
/** Pause all playing instructions.
*/
- (void)pausePlayingInstructions;
/** Resume the next playing instruction.
*/
- (void)resumePlayingInstructions;
/** Cancel all playing instructions.
@param immediately A boolean value indicating that the playing of the instructions should be stopped immediately. Passing NO as parameter will cause that the playing will be stopped after finishing the playing of the current word.
*/
- (void)cancelPlayingInstructionsImmediately:(BOOL)immediately;

SKViaPoint class

New class

/** The SKViaPoint is used to store information about a viapoint used for route calculation.
*/
@interface SKViaPoint : NSObject
/** The unique identifier of the viapoint.
*/
@property(nonatomic, assign) int identifier;
/** The location of the viapoint.
*/
@property(nonatomic, assign) CLLocationCoordinate2D coordinate;
/** A newly initialized default SKViaPoint object.
*/
+ (instancetype)viaPoint;
/** A newly initialized SKViaPoint object.
@param viaPointID The unique identifier of the viapoint.
@param viaPointCoordinate The location of the viapoint.
*/
+ (instancetype)viaPoint:(int)viaPointID withCoordinate:(CLLocationCoordinate2D)viaPointCoordinate;

SKViaPointState class

New class

/** The SKViaPointState is used to store information about a viapoint in an already calculated route.
*/
@interface SKViaPointState : NSObject
/** The unique identifier of the viapoint.
*/
@property(nonatomic, assign) int identifier;
/** Distance to arrival in meters to the viapoint.
*/
@property(nonatomic, assign) int distance;
/** The estimated time to arrival in seconds to the viapoint.
*/
@property(nonatomic, assign) int estimatedTime;

SKZoomLevelConfiguration class

New class

/** SKZoomLevelConfiguration stores information about the speed interval for a zoom level that will be used during navigation.
*/
@interface SKZoomLevelConfiguration : NSObject
/** The speed interval for a zoom level. The minimumSpeed and maximumSpeed members of the speedInterval property must be provided in km/h.
*/
@property (nonatomic, assign) SKSpeedInterval speedInterval;
/** The zoom level for the defined speed interval. The value of this property must be between 0.0 and 19.0 .
*/
@property (nonatomic, assign) float zoomLevel;
/** A newly initialized SKZoomLevelConfiguration.
*/
+ (instancetype)zoomLevelConfiguration;