iOS SDK change log from version 2.1.0 to version 2.2.0

SKAnimationSettings class

New class:

/** Stores information about the annotation animation settings.
*/
@interface SKAnimationSettings : NSObject

Properties & methods:

/** Represents the animation type.
*/
@property(nonatomic, assign) SKAnimationType animationType;

/** Represents the animation easing type.
*/
@property(nonatomic, assign) SKAnimationEasingType animationEasingType;

/** The animation duration measured in milliseconds.
*/
@property(nonatomic, assign) int duration;

/** A newly initialized SKAnimationSettings. Default values SKAnimationPinDrop for animationType, SKAnimationEaseLinear for animationEasingType, 300 milliseconds for duration
*/
+ (instancetype)defaultAnimationSettings;

/** A newly initialized SKAnimationSettings. Default values SKAnimationNone for animationType, SKAnimationEaseLinear for animationEasingType, 0 for duration
*/
+ (instancetype)animationSettings;

SKAnnotation class

New property:

/** Object containing a UIView which will represent the annotation image.
*/
@property(nonatomic, strong) SKAnnotationView *annotationView;

SKAnnotationView class

New class:

/** Can be used to set a custom view as a map annotation.
*/
@interface SKAnnotationView : NSObject

Properties & methods:

/** The view to be rendered as an annotation.
*/
@property(nonatomic, readonly, strong) UIView *view;

/** A unique identifier for the view which is used for caching.
*/
@property(nonatomic, readonly, strong) NSString *reuseIdentifier;

/** Initializes an SKAnnotationView object with the given parameters.
@param view A view object containing the visual representation of the SKAnnotationView.
@param reuseIdentifier A string identifying the SKAnnotationView object to be reused.
@return A newly initialized SKAnnotationView instance.
*/
- (id)initWithView:(UIView *)view reuseIdentifier:(NSString *)reuseIdentifier;

SKCircle class

SKCircle has the SKOverlay as base class:

/** SKCircle stores the information related to a circle map overlay. This object is used as an input parameter.
*/
@interface SKCircle : SKOverlay

The properties below were removed from the SKCircle class. These are accessible through the SKOverlay class:

/** The inner/outer color of the polygon depending on the value of the isMask property.
*/
@property(nonatomic, strong) UIColor *fillColor;

/** The number of pixels of a dotted line. Set to 0 for solid boder.
*/
@property(nonatomic, assign) int borderDotsSize;

/** The number of pixels between the dotted lines.
*/
@property(nonatomic, assign) int borderDotsSpacingSize;

SKDefinitions

SKAnimationType added

typedef NS_ENUM (NSInteger, SKAnimationType)
{
SKAnimationNone = 0,
SKAnimationPinDrop = 1,
SKAnimationPopOut = 2,
SKPulseAnimation = 3
};

SKAnimationEasingType added

typedef NS_ENUM (NSInteger, SKAnimationEasingType)
{
/// Simple linear equation - no easing, no acceleration
SKAnimationEaseLinear,
/// Quadratic(t^2) easing in - accelerating from zero velocity
SKAnimationEaseInQuad,
/// Quadratic(t^2) easing out - decelerating to zero velocity
SKAnimationEaseOutQuad,
/// Quadratic(t^2) easing in/out - acceleration until halfway, then deceleration
SKAnimationEaseInOutQuad,
/// Cubic(t^3) easing in - accelerating from zero velocity
SKAnimationEaseInCubic,
/// Cubic(t^3) easing out - decelerating to zero velocity
SKAnimationEaseOutCubic,
/// Cubic(t^3) easing in/out - acceleration until halfway, then deceleration
SKAnimationEaseInOutCubic,
/// Quartic(t^4) easing in - accelerating from zero velocity
SKAnimationEaseInQuart,
/// Quartic(t^4) easing out - decelerating to zero velocity
SKAnimationEaseOutQuart,
// Quartic(t^4) easing in/out - acceleration until halfway, then deceleration
SKAnimationEaseInOutQuart,
/// Quintic(t^5) easing in - accelerating from zero velocity
SKAnimationEaseInQuint,
/// Quintic(t^5) easing in/out - acceleration until halfway, then deceleration
SKAnimationEaseOutQuint,
/// Quintic(t^5) easing in/out - acceleration until halfway, then deceleration
SKAnimationEaseInOutQuint,
/// Sinusoidal(sin(t)) easing in - accelerating from zero velocity
SKAnimationEaseInSine,
/// Sinusoidal(sin(t)) easing out - decelerating to zero velocity
SKAnimationEaseOutSine,
/// Sinusoidal(sin(t)) easing in/out - accelerating until halfway, then decelerating
SKAnimationEaseInOutSine,
/// Exponential(2^t) easing in - accelerating from zero velocity
SKAnimationEaseInExpo,
/// Exponential(2^t) easing out - decelerating to zero velocity
SKAnimationEaseOutExpo,
/// Exponential(2^t) easing in/out - accelerating until halfway, then decelerating
SKAnimationnEaseInOutExpo
};

SKMapSettings class

New properties:

/** Controls if the accuracy circle is displayed. Default value is YES.
*/
@property(nonatomic, assign) BOOL showAccuracyCircle;

/** Defines the starting zoom level where the annotation selection works. By default it's 12.0.
*/
@property(nonatomic,assign) float annotationTapZoomLimit;

/** Controls if the map POI icons are rendered on the map. Default value is YES.
*/
@property(nonatomic, assign) BOOL showMapPoiIcons;

SKMapVersioningDelegate

Removed APIs:

/** Called when the map version file was successfully downloaded from the server.
@param versioningManager The map versioning manager.
*/
- (void)mapsVersioningManagerDownloadedVersionFileSuccessfully:(SKMapsVersioningManager *)versioningManager;

/** Called when the map version file request has timed out.
@param versioningManager The map versioning manager.
*/
- (void)mapsVersioningManagerVersionFileDownloadDidTimeout:(SKMapsVersioningManager *)versioningManager;

New API:

/** Called when the current map version is determined.
@param versioningManager The map versioning manager.
@param currentMapVersion The map version the library currently uses.
*/
- (void)mapsVersioningManager:(SKMapsVersioningManager *)versioningManager loadedWithMapVersion:(NSString *)currentMapVersion;

SKMapView class

New APIs:

/** 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;

/** Updates the current position icon on the map with a custom UIView. Setting the currentPositionView to nil restores the current position icon to it's default state.
*/
@property(nonatomic, strong) UIView *currentPositionView;

/** Returns an SKAnnotation object with the given identifier. If their is no annotation with the given identifier, it returns nil.
@param identifier The annotation identifier.
@return The annotation with the given identifier.
*/
- (SKAnnotation *)annotationForIdentifier:(int)identifier;

/** Returns a UIImage representation of the last rendered frame.
*/
-(UIImage *)lastRenderedFrame;

/** Starts the pulse animation with the given settings
@param pulseAnimationSettings The settings used for the pulse animation
@return Success/failure
*/
- (BOOL)startPulseAnnimation:(SKPulseAnimationSettings *)pulseAnimationSettings;

/** Stops the pulse animation
@return Success/failure
*/
- (BOOL)stopPulseAnnimation;

Updated API:

/** Adds an annotation to the map. By default, the center of the image will coincide with the location.
@param annotation Model object for the annotation. For further details see SKAnnotation.
@param animationSettings Represents the animation settings when adding an annotation to the map.
*/
- (BOOL)addAnnotation:(SKAnnotation *)annotation withAnimationSettings:(SKAnimationSettings *)animationSettings;

SKMapViewDelegate

New callback:

/** Called when the curent position icon on the map view was tapped.
@param mapView The map view.
*/
- (void)mapViewDidSelectCurrentPositionIcon:(SKMapView *)mapView;

SKNavigationSettings class

New API:

/** 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.
*/
@property(nonatomic, assign) float positionerHorizontalAlignment;

SKOverlay class

New class:

/** Stores information about an overlay.
*/
@interface SKOverlay : NSObject

Properties:

/** The inner/outer color of the polygon depending on the value of the isMask property.
*/
@property(nonatomic, strong) UIColor *fillColor;

/** The number of pixels of a dotted line. Set to 0 for solid boder.
*/
@property(nonatomic, assign) int borderDotsSize;

/** The number of pixels between the dotted lines.
*/
@property(nonatomic, assign) int borderDotsSpacingSize;

SKPolygon class

SKPolygon has the SKOverlay as base class

/** SKPolygon stores the information related to a map polygon overlay. This object is used as an input parameter.
*/
@interface SKPolygon : SKOverlay

The properties below were removed from the SKPolygon class. These are accessible through the SKOverlay class.

//** The inner/outer color of the polygon depending on the value of the isMask property.
*/
@property(nonatomic, strong) UIColor *fillColor;

/** The number of pixels of a dotted line. Set to 0 for solid boder.
*/
@property(nonatomic, assign) int borderDotsSize;

/** The number of pixels between the dotted lines.
*/
@property(nonatomic, assign) int borderDotsSpacingSize;

SKPolyline class

SKPolyline has the SKOverlay as base class

/** SKPolyline stores the information related to a map plyline overlay. This object is used as an input parameter.
*/
@interface SKPolyline : SKOverlay

The properties below were removed from the SKPolyline class. These are accessible through the SKOverlay class.

/** The inner/outer color of the polygon depending on the value of the isMask property.
*/
@property(nonatomic, strong) UIColor *fillColor;

/** The number of pixels of a dotted line. Set to 0 for solid boder.
*/
@property(nonatomic, assign) int borderDotsSize;

/** The number of pixels between the dotted lines.
*/
@property(nonatomic, assign) int borderDotsSpacingSize;

SKPositionerService class

New property:

/** Last heading information reported by the location manager.
*/
@property(nonatomic, readonly, assign) CLHeading *currentHeading;

New APIs:

/** Starts updating only significant GPS locations.
*/
- (void)startSignificantLocationUpdate;

/** Stops updating only significant GPS locations.
*/
- (void)cancelSignificantLocationUpdate;

SKPositionerServiceDelegate

New callbacks:

/** Called when an error has occurred.
@param positionerService The positioner service.
@param error The error that occured.
*/
- (void)positionerService:(SKPositionerService *)positionerService didFailWithError:(NSError *)error;

/** Called when the authorization status changes for the client application.
@param positionerService The positioner service.
@param status The new authorization status.
*/
- (void)positionerService:(SKPositionerService *)positionerService didChangeAuthorizationStatus:(CLAuthorizationStatus)status;

SKProxySettings class

New API:

/**A newly initialized SKProxySettings.
*/
+ (instancetype)proxySettings;

SKPulseAnimationSettings class

New class:

/** Stores the pulse animation settings.
*/
@interface SKPulseAnimationSettings : SKAnimationSettings

Properties & methods:

/** The pulse animation color.
*/
@property(nonatomic, strong) UIColor *color;

/** Specifies if the animation is continuous.
*/
@property(nonatomic, assign) BOOL isContinuous;

/** The pulse animation span.
*/
@property(nonatomic, assign) float span;

/** The time needed for the pulse animation to dissapear, measured in milliseconds.
*/
@property(nonatomic, assign) int fadeOutTime;

/** A newly initialized SKPulseAnimationSettings.
*/
+ (instancetype)pulseAnimationSettings;

SKRoutingService class

New API:

/** Modifies the configurations of a navigation.
@param navigationSettings stores settings for a navigation session.
*/
- (void)changeNavigationSettings:(SKNavigationSettings*)navigationSettings;