Skip to main content

class

ActivityTracker

Extends: Hashable
public static func == (lhs: ActivityTracker, rhs: ActivityTracker) -> Bool

Returns a Boolean value indicating whether two values are equal.

public convenience init(
platformContext: Context,
model: Model,
speedBound: Double = 4.2,
timeThreshold: TimeInterval = 20
)

Navigation extension that monitors user activity and gives a signal when the user has stopped using the navigator and it can be turned off.

Parameters

platformContext

Context.

model

Model of the navigator status of which is being tracked.

speedBound

Upper limit of speed in m/s, if exceeded in the Finished state of the navigator, it is considered that the navigator is active, i.e. the movement continues.

timeThreshold

TimeInterval

Time during which in the Finished state of the navigator the speed is tracked below the threshold for determining the inactive state of the navigator. If during this time the speed is less than the set threshold or there is no location and speed data, the navigator is considered inactive.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var stopChannel

StatefulChannel<Bool>

Flag the active state of which indicates that the navigator must be stopped. If in the Finished state the navigation stops, i.e. the movement stops or its speed becomes lower than the threshold value, and if this state persists for some time, the flag is set to true, otherwise it is set to false.

var stop

Flag the active state of which indicates that the navigator must be stopped. If in the Finished state the navigation stops, i.e. the movement stops or its speed becomes lower than the threshold value, and if this state persists for some time, the flag is set to true, otherwise it is set to false.

AlternativeRoutesProviderSettings

Extends: Hashable
public static func == (lhs: AlternativeRoutesProviderSettings, rhs: AlternativeRoutesProviderSettings) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var alternativeRoutesEnabled

Flag to enable/disable the suggestion of alternative routes. By default, suggestion of alternative routes is enabled.

var betterRouteEnabled

Flag to enable/disable the suggestion of a better route. By default, the better route suggestion is enabled.

var routeSearchDelay

Delay before searching for alternative routes when starting a trip on a route or after switching to another route. Must be at least 5 seconds. The default is 20 seconds.

var betterRouteTimeCostThreshold

Minimum difference in travel time between the original route and the alternate route at which the alternate route is considered a better route.

var betterRouteLengthThreshold

Minimum cumulative length of route edges that differ between the original route and the alternate route, at which the alternate route is considered the better route.

Attributes

Interface for managing map object attributes.

Extends: Hashable
public static func == (lhs: Attributes, rhs: Attributes) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func setAttributeValue(
name: String,
value: AttributeValue
)

Setting an attribute.

Parameters

name

Property name.

value

public func setAttributeValues(
values: [String: AttributeValue],
attributesToRemove: [String] = []
)

Sets a set of attributes.

Parameters

values

String[ : ]

Set of “name”:“value” pairs for added properties.

attributesToRemove

List of property names to delete.

public func removeAttribute(
name: String
)

Removes an attribute.

Parameters

name

Name of a property to delete.

public func getAttributeValue(
name: String
) -> AttributeValue

Gets an attribute.

Parameters

name

Name of a property to retrieve.

Returns
Properties

var attributeNames

Retrieving a list of properties.

var changed

Channel<[String]>

Gets a channel notifying about the change of the properties.

BaseCamera

Camera.

Extends: Hashable
public static func == (lhs: BaseCamera, rhs: BaseCamera) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func clone() -> BaseCamera

Creates a copy of the current camera.

Returns
public func setPosition(
position: CameraPosition
) throws

Sets a new camera position.
The call interrupts flyover and gesture handling, and resets the tracking mode.

Parameters
public func setZoomRestrictions(
zoomRestrictions: CameraZoomRestrictions
) throws

Sets a new range of zoom level limits.

Parameters

zoomRestrictions

New range of zoom-level restrictions.

public func setPositionPoint(
positionPoint: CameraPositionPoint
) throws

Sets the new position relative to the area of the screen limited by the paddings.

Parameters

positionPoint

New position relative to the area of the screen bounded by the paddings.

Properties

var projection

Projection.

var positionChannel

StatefulChannel<CameraPosition>

Gets the current camera position.

var position

Gets the current camera position.

var zoomRestrictionsChannel

StatefulChannel<CameraZoomRestrictions>

Gets the current zoom level limits.

var zoomRestrictions

Gets the current zoom level limits.

var deviceDensityChannel

StatefulChannel<DeviceDensity>

Gets the DPI ratio to the base DPI of the device.

var deviceDensity

Gets the DPI ratio to the base DPI of the device.

var sizeChannel

StatefulChannel<ScreenSize>

Gets the viewport size.

var size

Gets the viewport size.

var paddingChannel

StatefulChannel<Padding>

Gets the current padding from the edges of the screen.

var padding

Gets the current padding from the edges of the screen.

var positionPointChannel

StatefulChannel<CameraPositionPoint>

Screen point to which the camera position is anchored is set with the padding.

var positionPoint

Screen point to which the camera position is anchored is set with the padding.

var visibleArea

Intersection area between the camera's visibility pyramid and the map surface.

var visibleRectChannel

StatefulChannel<GeoRect>

Volume rectangle of the visible area of the map.

var visibleRect

Volume rectangle of the visible area of the map.

var styleZoomToTiltRelationChannel

StatefulChannel<StyleZoomToTiltRelation?>

Gets the current function of the camera tilt angle dependence on the style zoom level.

var styleZoomToTiltRelation

Gets the current function of the camera tilt angle dependence on the style zoom level.

var maxTiltRestrictionChannel

StatefulChannel<StyleZoomToTiltRelation?>

Gets the current function of the dependence of the maximum camera tilt angle on the style zoom level.

var maxTiltRestriction

Gets the current function of the dependence of the maximum camera tilt angle on the style zoom level.

BoolRouteLongAttribute

Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. The action of the attribute starts at the given point and ends at the next point, starting from which the action of the attribute of the next element begins.

Extends: Hashable
public static func == (lhs: BoolRouteLongAttribute, rhs: BoolRouteLongAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entry(
point: RoutePoint
) -> BoolRouteLongEntry?

Element in which the point falls.

Parameters
public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [BoolRouteLongEntry]

Elements partially or completely covered by the [begin, end] segment.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

First element.

var last

Last element.

var entries

BufferedChannel

Extends: Channel<Value>
Properties

var value

Value?

Camera

Camera for triggering map movement and tracking settings.

Extends: BaseCamera
Methods
public func move(
moveController: CameraMoveController
) -> Future<CameraAnimatedMoveResult>

Starts moving the map.
Resets the current map tracking mode and interrupts gesture processing.

Parameters

moveController

Animated camera movement controller.

Returns
Future<>
public func move(
position: CameraPosition,
time: TimeInterval = 0.3,
animationType: CameraAnimationType = CameraAnimationType.`default`
) -> Future<CameraAnimatedMoveResult>

Starts an animated map move using the built-in map move controller.
Resets the current map tracking mode and interrupts gesture processing.

Parameters

position

Camera end position.

time

TimeInterval

Time allocated for moving the map.

animationType

Type of animation when moving the camera.

Returns
Future<>
public func processMovementAndStop()

Sets the camera position according to the current time and stopping the animated movement.
The call interrupts the camera flyover and gesture processing and resets the tracking mode.

public func setBehaviour(
behaviour: CameraBehaviour
)
Parameters
public func addFollowController(
followController: FollowController
)

Adds the follow controller.

Parameters

followController

public func removeFollowController(
followController: FollowController
)

Removes the follow controller.

Parameters

followController

public func setCustomFollowController(
followController: CustomFollowController
)

Adding the follow controller implemented on the platform.

Parameters

followController

public func removeCustomFollowController()

Removes the follow controller implemented on the platform.

func setPosition(point: GeoPoint, zoom: Zoom) throws
Parameters

point

zoom

func setPosition(point: GeoPoint) throws
Parameters
Properties

var stateChannel

StatefulChannel<CameraState>

Obtaining the current status of the camera.

var state

Obtains the current status of the camera.

var behaviourChannel

StatefulChannel<CameraBehaviourChange>

Camera tracking mode.

var behaviour

Camera tracking mode.

CameraNotifier

Warns you if you enter the coverage area of a traffic camera.

Extends: Hashable
public static func == (lhs: CameraNotifier, rhs: CameraNotifier) -> Bool

Returns a Boolean value indicating whether two values are equal.

public convenience init(
model: Model
)

Navigation extension that warns you if you enter the coverage area of a traffic camera.

Parameters

model

Model of the navigator whose status is being tracked.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var cameraProgressChannel

StatefulChannel<CameraProgressInfo?>

Progress of passing the traffic camera coverage area.

var cameraProgress

Progress of passing the traffic camera coverage area.

CameraRouteAttribute

Container that describes a point attribute of a route. Each item is stored as a point on the route, in which the item is located, and the value of the item itself.

Extends: Hashable
public static func == (lhs: CameraRouteAttribute, rhs: CameraRouteAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [CameraRouteEntry]

Elements that fall within the [begin, end) range.

Parameters
public func findNearBackward(
point: RoutePoint
) -> CameraRouteEntry?

Finds the nearest element with position < = point.
The operation complexity is log2(N), where N = size.

Parameters
public func findNearForward(
point: RoutePoint
) -> CameraRouteEntry?

Finds the nearest element with position > = point.
The operation complexity is log2(N), where N = size.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

First element.

var last

Last element.

var entries

All elements.

CancelEvent

Event of canceling the current action.

Extends: Event
public convenience init()

Cancellable

Cancellation token for a running operation.

Implements: ICancellable
public init(
cancel: @escaping () -> Void,
release: @escaping () -> Void = {}
)
public convenience init()

Makes a cancellation token that cancels nothing.

public static func ==(lhs: Cancellable, rhs: Cancellable) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func cancel()

May be called any number of times from any queue.

public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Channel

public static func ==(lhs: Channel<Value>, rhs: Channel<Value>) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func sink(
receiveValue: @escaping (Value) -> Void
) -> Cancellable

Subscribe to a stream of values over time. The subscription never fails.

Returns
Cancellable

Cancellable instance. Deallocation of the result will tear down the subscription stream.

public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Circle

Circle.

public convenience init(
options: CircleOptions
)
Parameters
Properties

var position

Location of the center of a circle.

var radius

Radius of a circle.

var color

Circle fill color.

var strokeWidth

Circle border line width.

var strokeColor

Circle border color.

ClusterObject

Cluster of objects.

Extends: MapObject
Properties

var position

Gets the cluster position on the map.

var objectCount

Gets the number of markers in the cluster.

var objects

Gets the list of markers in the cluster.

var geometryObject

Obtains the geometric object of the cluster.

CompassControl

Extends: UIControl
Methods
public override func layoutSubviews()
Properties

var intrinsicContentSize

CompassControlModel

Model of the compass control. The control consists of a compass button that, when clicked, causes the map camera to change its angle in the direction of north. If the map camera is facing the north, the control must be hidden. Thread-safe.

Extends: Hashable
public static func == (lhs: CompassControlModel, rhs: CompassControlModel) -> Bool

Returns a Boolean value indicating whether two values are equal.

public convenience init(
map: Map
)
Parameters

map

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func onClicked()
Properties

var bearingChannel

StatefulChannel<Bearing>

var bearing

ComplexGeometry

Complex geometry, contains a set of simple or complex geometries.

Extends: Geometry
public convenience init(
geometries: [Geometry]
)
Parameters

geometries

Properties

var elements

Container

Central object for accessing iOS Mobile SDK features.

public convenience init(
apiKeyOptions: ApiKeyOptions = .default,
logOptions: LogOptions = .default,
httpClientForRequest: IHTTPClient? = nil,
httpOptions: HTTPOptions = .default,
positioningServices: IPositioningServicesFactory = PlatformPositioningServicesFactory(),
batteryOptions: BatteryOptions = .default,
personalDataCollectionOptions: PersonalDataCollectionOptions = .default,
localizationOptions: LocalizationOptions = .default,
audioOptions: AudioOptions = .default,
vendorConfigFile: File? = nil
)

Container builder.

Parameters

apiKeyOptions

Key settings for accessing 2GIS services.

logOptions

Logging settings.

httpClientForRequest

Network client for sending HTTP requests.

httpOptions

HTTP client settings (such as caching).

positioningServices

Geo-positioning services.

batteryOptions

personalDataCollectionOptions

Data collection service settings.

localizationOptions

Application localization settings.

audioOptions

Sound settings.

vendorConfigFile

Overrides settings for working in an offline environment.

Methods
public func makeMapFactory(
options: MapOptions
) throws -> IMapFactory
Parameters

options

Initial map properties. Specify .default to quickly create an online map looking at Moscow, with a fixed inaccurate PPI (not matching the current device).

Returns
public func makeStyleFactory() throws -> IStyleFactory

Creates a constructor of standard and custom styles.

public func makeSearchManagerFactory() throws -> ISearchManagerFactory

Creates a factory search engines for a directory.

public func makeSourceFactory() throws -> ISourceFactory

Creates a factory of map data sources.

public func makeImageFactory() throws -> IImageFactory

Creates a factory of images for map objects.

public func makeLocaleManager() throws -> LocaleManager

Creates a manager of locale settings of an application.

public func makeRouteEditorFactory() throws -> IRouteEditorFactory

Creates a factory of route editors.

public func makeNavigationViewFactory(options: NavigationViewOptions = .default) throws -> INavigationViewFactory

Creates a factory of a navigator layer.

Parameters

options

Custom settings.

Returns
public func makeRoadEventCardViewFactory(options: RoadEventCardViewOptions = .default) throws -> IRoadEventCardViewFactory

Creates a factory of a road event card.

Parameters
Properties

var context

Root opaque SDK object container. Used as an argument to the SDK API.

var markerViewFactory

UIView marker factory for map.

var locationService

Current ILocationService implementation used within the SDK and working via ILocationProvider.

let audioSettings

Sound settings.

let httpOptions

HTTP client settings.

let batteryOptions

Battery tracking settings.

let localizationOptions

Application localization settings.

Context

Context - the environment required for the SDK to work.

Extends: Hashable
public static func == (lhs: Context, rhs: Context) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

CreateRoadEventControl

Block for creating road events.

Extends: UIControl
Methods
public override func layoutSubviews()
Properties

var intrinsicContentSize

CurrentLocationControl

Unit with the function of flyover to the current location.

Extends: UIControl
Methods
public override func layoutSubviews()
Properties

var intrinsicContentSize

DgisMapObject

2GIS map object.
Information about an object can be obtained in the directory.

Extends: MapObject
Properties

var id

Stable numeric object ID.

DgisSource

Main interface of 2GIS data sources.

Extends: Source
Methods
public static func createDgisSource(
context: Context,
workingMode: DgisSourceWorkingMode = DgisSourceWorkingMode.online
) -> Source

Creates a source that obtains data from 2GIS servers or uses preloaded data.

Parameters

context

workingMode

Returns
public func setHighlighted(
directoryObjectIds: [DgisObjectId],
highlighted: Bool
)

Sets or removes object highlighting.
The method adds the “selected” attribute to the object, which can be used in styles.

Parameters

directoryObjectIds

IDs of the objects being changed.

highlighted

Sets or removes a selection.

Properties

var highlightedObjectsChannel

StatefulChannel<[DgisObjectId]>

Obtaining a list of IDs of the highlighted objects.

var highlightedObjects

Obtaining a list of IDs of the highlighted objects.

DirectMapControlBeginEvent

Event to start direct control of the map. Tells the map to process direct map control events. Direct control events only work from DirectMapControlBeginEvent to DirectMapControlEndEvent. After the sequence of direct control events is complete, kinematics can start. Kinematics uses the occurrence time of the event, so it is better to use the time received from the system rather than fill in the value during processing. For now, kinematics only work for moving the map, but not for rotating and zooming.

Extends: Event
public convenience init()

DirectMapControlEndEvent

Event of ending direct map control. Ends direct map control that was started after receiving the DirectMapControlBeginEvent event. Direct map control events are described in DirectMapControlBeginEvent.

Extends: InputEvent
public convenience init(
timestamp: TimeInterval
)
Parameters

timestamp

TimeInterval

DirectMapRotationEvent

Direct map rotation event. The events of direct map control are described in DirectMapControlBeginEvent.

Extends: InputEvent
public convenience init(
bearingDelta: Bearing,
timestamp: TimeInterval,
rotationCenter: ScreenPoint? = nil
)
Parameters

bearingDelta

Change of the map rotation angle, in degrees. Positive values correspond to the direction of rotation counterclockwise.

timestamp

TimeInterval

Time of the system event generation.

rotationCenter

Point on the screen relative to which the map rotates. If not set, rotation is done relative to the map position point.

Properties

var bearingDelta

Changes the rotation angle of the map.

var rotationCenter

Point on the screen relative to which the map rotates.

DirectMapScalingEvent

Event of direct map scaling. Direct map control events are described in DirectMapControlBeginEvent.

Extends: InputEvent
public convenience init(
zoomDelta: Float,
timestamp: TimeInterval,
scalingCenter: ScreenPoint? = nil
)
Parameters

zoomDelta

Float

Value by which the current zoom value will change.

timestamp

TimeInterval

Time of the system event generation.

scalingCenter

Point on the screen relative to which the map scales. If not set, scaling is done relative to the map position point.

Properties

var zoomDelta

Float

Value by which the current scale value will change.

var scalingCenter

Point on the screen relative to which the map scales.

DirectMapShiftEvent

Direct map shift event. Direct map control events are described in DirectMapControlBeginEvent.

Extends: InputEvent
public convenience init(
screenShift: ScreenShift,
shiftedPoint: ScreenPoint,
timestamp: TimeInterval
)
Parameters

screenShift

Change in the screen position of the map relative to the previous one, in pixels.

shiftedPoint

Center point from which the map is shifted.

timestamp

TimeInterval

Time of the system event generation.

Properties

var screenShift

Changing the map screen position.

var shiftedPoint

Center point from which the map is shifted.

DirectMapTiltEvent

Event of direct camera tilt. The events of direct map control are described in DirectMapControlBeginEvent.

Extends: InputEvent
public convenience init(
delta: Float,
timestamp: TimeInterval
)
Parameters

delta

Float

Tilt angle change in degrees.

timestamp

TimeInterval

Time of the system event generation.

Properties

var delta

Float

Tilt angle change in degrees.

DirectoryObject

Directory object.

Extends: Hashable
public static func == (lhs: DirectoryObject, rhs: DirectoryObject) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func formattedAddress(
type: FormattingType
) -> FormattedAddress?

String representation of the address formatted according to the specified length requirement.

Parameters
Properties

var types

Object type. There can be several, for example, Sun City Mall is a branch of an organization and a building at the same time. The first type in this list is the primary type.

var title

Object title.

var titleAddition

Additional title information. Example: “(apt. 1-12)”.

var subtitle

Object subtitle.
Can be an empty string if a subtitle is missing.

var id

Stable numeric object ID.

var markerPosition

Point of the object where the marker should be placed.

var address

Address of the object as a set of components.

var attributes

Additional object attributes.

var contextAttributes

Contextual object's additional attributes.

var timeZoneOffset

The shift of the object's local time relative to UTC in seconds at the current moment.

var openingHours

Opening hours of the object.

var contactInfos

Contacts of the object.

var reviews

Reviews.

var parkingInfo

Additional parking information.

var workStatus

Operating status.

var levelId

Identifier of the floor on which the facility is located.

var buildingLevels

Information about the floor plans of the building.

var entrances

Information about entrances.

var tradeLicense

Data on the organization license.

DoubleRouteAttribute

Container that describes a point attribute of a route. Each item is stored as a point on the route, in which the item is located, and the value of the item itself.

Extends: Hashable
public static func == (lhs: DoubleRouteAttribute, rhs: DoubleRouteAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [DoubleRouteEntry]

Elements that fall within the [begin, end) range.

Parameters
public func findNearBackward(
point: RoutePoint
) -> DoubleRouteEntry?

Finds the nearest element with position < = point.
The operation complexity is log2(N), where N = size.

Parameters
public func findNearForward(
point: RoutePoint
) -> DoubleRouteEntry?

Finds the nearest element with position > = point.
The operation complexity is log2(N), where N = size.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

First element.

var last

Last element.

var entries

All elements.

DynamicRouteInfoSettings

Settings for getting dynamic route data.

Extends: Hashable
public static func == (lhs: DynamicRouteInfoSettings, rhs: DynamicRouteInfoSettings) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var updatePeriod

Frequency at which dynamic route data should be updated.

Event

Base class for all events handled.

Extends: Hashable
public static func == (lhs: Event, rhs: Event) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

ExceedSpeedLimitSettings

Settings of the detection of exceeding the speed limit.

Extends: Hashable
public static func == (lhs: ExceedSpeedLimitSettings, rhs: ExceedSpeedLimitSettings) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var exceedSpeedNotificationEnabled

Enables/disables detection of exceeding the maximum permitted speed limit.

var allowableSpeedExcess

Float

Allowed exceeding of the speed limit in m/s, default is 0.

File

File ID.

Extends: Hashable
public static func == (lhs: File, rhs: File) -> Bool

Returns a Boolean value indicating whether two values are equal.

public convenience init(
path: String
)

File in a file system.

Parameters

path

File path.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public static func fromString(
contents: String
) -> File

File with the content from a given string.

Parameters

contents

Contents of the file.

Returns

FloatRouteLongAttribute

Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. The action of the attribute starts at the given point and ends at the next point, starting from which the action of the attribute of the next element begins.

Extends: Hashable
public static func == (lhs: FloatRouteLongAttribute, rhs: FloatRouteLongAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entry(
point: RoutePoint
) -> FloatRouteLongEntry?

Element in which the point falls.

Parameters
public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [FloatRouteLongEntry]

Elements partially or completely covered by the [begin, end] segment.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

First element.

var last

var entries

FollowController

Allows you to control the position of the camera and the geopositioning marker. All its methods implementations must be thread-safe. Most methods have trivial default implementations (so that FollowController, which is responsible for scaling, does not have to override coordinates() methods, etc.).

Extends: Hashable
public static func == (lhs: FollowController, rhs: FollowController) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func requestValues(
values: FollowValueOptionSet
)

Tells the FollowController which of the values it provides are in use. This frees up the resources involved in calculating unused values. The method can be called multiple times with different values, in which case the most recent value is relevant.

Parameters
public func setClock(
clock: FollowControllerClock?
)

Passes the time source to the FollowController. The time values that are returned from next_timestamp() must be calculated relative to the values obtained from clock. This method is not called repeatedly to replace a previously set non-zero value with a different non-zero value.

Parameters
public func setThresholds(
shiftMeters: Double,
rotation: Double
)

Thresholds for position shifts and rotation angles. Shorter offsets and rotations of smaller angles are not considered visually distinguishable.

Parameters

shiftMeters

rotation

public func updateValues()

Query to calculate all provided values. Immediately after calling this method, all values (coordinates(), satellite_bearing(), etc.) are considered relevant.

Properties

var availableValues

Set of value types that this FollowController can control. For example, one FollowController can only control coordinates, while another can only control map tilt.

var nextTimestampChannel

StatefulChannel<Date?>

Channel that informs subscribers of the time of the next visible value change. The time of change of values not among those requested with request_values() may not be reported. The time values are interpreted relative to the source passed in set_clock().

var nextTimestamp

Date?

Channel that informs subscribers of the time of the next visible value change. The time of change of values not among those requested with request_values() may not be reported. The time values are interpreted relative to the source passed in set_clock().

var coordinates

Geographic coordinates.

var satelliteBearing

Direction of travel.

var magneticBearing

Direction to magnetic north.

var tilt

Map tilt.

var styleZoom

Style zoom level of the map.

var accuracy

Precision circle radius (meters).

FollowControllerClock

Clock used to measure time in FollowController.

Extends: Hashable
public static func == (lhs: FollowControllerClock, rhs: FollowControllerClock) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var now

Date

FreeRoamSettings

Extends: Hashable
public static func == (lhs: FreeRoamSettings, rhs: FreeRoamSettings) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var onRoutePrefetchLength

Road graph tiles are loaded into HTTP cache during route guidance if they correspond to the route section from the current position to the specified distance. The default value is 5 km.
Tiles are not loaded into the HTTP cache if the parameter corresponds to a zero or negative distance.

var onRoutePrefetchRadiusMeters

When caching road graph tiles during route guidance, the tiles are loaded into HTTP cache if they are closer than the specified distance in meters from the route line. The default value is 1 km.
Tiles are not loaded into HTTP cache if the parameter corresponds to zero or negative distance.

var prefetchRadiusMeters

Road graph tiles are loaded into HTTP cache if they are closer than the specified distance in meters from the current position. The default value is 2 km.
Tiles are not loaded to HTTP cache if the parameter corresponds to zero or negative distance.

Future

public init(
subscriber: @escaping Subscriber,
canceller: @escaping Canceller = {}
)
Parameters

subscriber

Subscriber

Creates a new subscription.

canceller

Canceller

Releases all associated resources. It must be called at some point after the subscription has fired (e.g. in deinit).

public static func ==(lhs: Future<Value>, rhs: Future<Value>) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func sink(
receiveValue: @escaping (Value) -> Void,
failure: @escaping (Error) -> Void
) -> Cancellable

Subscribes for a future value or an error.

Returns
Cancellable

Cancellable instance. Deallocation of the result will tear down the single value subscription.

static func makeReadyValue(_ value: Value) -> Future<Value>

Makes an immediately ready future value.

Returns
Future<>
static func makeReadyError(message: String) -> Future<Value>

Makes an immediately ready future error.

Parameters

message

Error message.

Returns
Future<>
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Geometry

Geometry object.

Extends: Hashable
public static func == (lhs: Geometry, rhs: Geometry) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func intersects(
geometry: Geometry
) -> Bool

Allows you to define if the given geometry intersects with another geometry object.

Parameters

geometry

Geometry object to check for intersection. When calculating an intersection with IPointGeometry, elevation is ignored.

Returns
Properties

var kind

var bounds

Rectangle of minimum size containing geometry.

var minPoint

Minimal point of the bounding rectangle.

var maxPoint

Maximum point of the bounding rectangle.

GeometryMapObject

Geometric object of the map.

Extends: MapObject
Properties

var geometryChannel

StatefulChannel<Geometry>

Object geometry.

var geometry

Object geometry.

var objectAttributes

Getting map object properties to read and change.

var isVisibleChannel

StatefulChannel<Bool>

The current visibility flag of the object.

var isVisible

Current visibility flag of the object.

var isDraggableChannel

StatefulChannel<Bool>

Current object relocatability flag.

var isDraggable

Current object relocatability flag.

var bounds

Rectangle of minimum size containing geometry.

GeometryMapObjectBuilder

Sets properties and subsequently creating geometric objects.

Extends: Hashable
public static func == (lhs: GeometryMapObjectBuilder, rhs: GeometryMapObjectBuilder) -> Bool

Returns a Boolean value indicating whether two values are equal.

public convenience init()
Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func setObjectAttribute(
name: String,
value: AttributeValue
) -> GeometryMapObjectBuilder

Sets a map object attribute.

Parameters

name

Name of the map object property.

value

Value of the map object property.

Returns
public func setObjectAttributes(
values: [String: AttributeValue]
) -> GeometryMapObjectBuilder

Sets map object properties.
The method does not replace the entire set of object properties, i.e. if a property is missing in the values, but has already been added to the object earlier, it is not changed.

Parameters

values

String[ : ]

Set of “name”:“value” pairs for the added map object properties.

Returns
public func setGeometry(
geometry: Geometry
) -> GeometryMapObjectBuilder

Sets the geometry of a map object.

Parameters
public func setVisible(
visible: Bool
) -> GeometryMapObjectBuilder

Sets the visibility of a map object.

Parameters
public func setDraggable(
draggable: Bool
) -> GeometryMapObjectBuilder

Sets the ability to drag a map object.

Parameters
public func setUserData(
userData: Any
) -> GeometryMapObjectBuilder

Installs user data.
User data is not used in any way in the SDK and is only returned to the user.

public func createObject() -> GeometryMapObject

Constructs a map object.

GeometryMapObjectSource

Spurce of geometric map objects.

Extends: Source
Methods
public func clusteringObjects(
position: CameraPosition
) -> [MapObject]

Gets the list of objects participating in clustering at the passed camera position. The list will contain both clusters and geometric objects.

Parameters
public func addObject(
item: GeometryMapObject
)

Adds an object to the source.

Parameters
public func addObjects(
objects: [GeometryMapObject]
)

Adds multiple objects to the source.

Parameters
public func removeObject(
item: GeometryMapObject
)

Deletes an object from the source.
The deletion is asynchronous, thread-safe, the method can be used from any thread.

Parameters
public func removeObjects(
objects: [GeometryMapObject]
)

Removes multiple objects from the source.

Parameters
public func removeAndAddObjects(
objectsToRemove: [GeometryMapObject],
objectsToAdd: [GeometryMapObject]
)

Removes and adds objects to the source.

Parameters

objectsToRemove

objectsToAdd

public func clear()

Removes all objects from the source.

Properties

var objects

Gets all objects added to the source.

var sourceAttributes

Gets default property values for all objects added to the source (see IAttributes).

GeometryMapObjectSourceBuilder

Extends: Hashable
public static func == (lhs: GeometryMapObjectSourceBuilder, rhs: GeometryMapObjectSourceBuilder) -> Bool

Returns a Boolean value indicating whether two values are equal.

public convenience init(
context: Context
)
Parameters

context

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func setSourceAttribute(
name: String,
value: AttributeValue
) -> GeometryMapObjectSourceBuilder

Sets a map object property common to the entire source (see ISource).

Parameters

name

Property name.

value

Property value.

Returns
public func setSourceAttributes(
values: [String: AttributeValue]
) -> GeometryMapObjectSourceBuilder

Sets map object properties common to the entire source.

Parameters

values

String[ : ]

Set of “name”:“value” pairs of properties.

Returns
public func addObject(
item: GeometryMapObject
) -> GeometryMapObjectSourceBuilder

Adds a geometric map object to the source.

Parameters
public func addObjects(
objects: [GeometryMapObject]
) -> GeometryMapObjectSourceBuilder

Adds multiple geometric map objects to the source.

Parameters
public func createSource() -> GeometryMapObjectSource

Creates a geometry object source.
After calling this function, you cannot use GeometryMapObjectSourceBuilder to create a data source or to set data source parameters.

GeoPointRouteAttribute

Container that describes a point attribute of a route. Each item is stored as a point on the route, in which the item is located, and the value of the item itself.

Extends: Hashable
public static func == (lhs: GeoPointRouteAttribute, rhs: GeoPointRouteAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [GeoPointRouteEntry]

Elements that fall within the [begin, end) range.

Parameters
public func findNearBackward(
point: RoutePoint
) -> GeoPointRouteEntry?

Finds the nearest element with position < = point.
The operation complexity is log2(N), where N = size.

Parameters
public func findNearForward(
point: RoutePoint
) -> GeoPointRouteEntry?

Finds the nearest element with position > = point.
The operation complexity is log2(N), where N = size.

Parameters
public func calculateGeoPoint(
routePoint: RoutePoint
) -> SegmentGeoPoint?

Calculates a GeoPoint from a known RoutePoint.
Operation complexity is O(log2(N)), where N = route_geometry.size()

Parameters

routePoint

Returns
SegmentGeoPoint?

Calculated geographic coordinates and direction of the segment pointed to by the route_point parameter. If the route is empty or route_point is out of range, nil is returned.

Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

First element.

var last

Last element.

var entries

var length

Route length.

HttpCacheManager

HTTP cache management interface.

Extends: Hashable
public static func == (lhs: HttpCacheManager, rhs: HttpCacheManager) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func clear()

Clears contents of HTTP cache.

Properties

var currentSize

Current size of the HTTP cache.

var maxSize

Maximum size of the HTTP cache.

Image

Image.

Extends: Hashable
public static func == (lhs: Image, rhs: Image) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

IncompleteTextHandler

Auto-complete for user-entered text is suggested.

Extends: Hashable
public static func == (lhs: IncompleteTextHandler, rhs: IncompleteTextHandler) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var queryText

It is needed to substitute this text in the search string and let the user continue typing the query.

IndoorBuilding

Building with floor plans.

Extends: Hashable
public static func == (lhs: IndoorBuilding, rhs: IndoorBuilding) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var id

Identifier of a building with floor plans.

var defaultLevelIndex

Default floor index.

var levels

Information about all floors.

var activeLevelIndexChannel

StatefulChannel<UInt64>

Active floor index.

var activeLevelIndex

Active floor index.

IndoorControl

UI control of the floors in the building.

Extends: UIControl
Methods
public override func layoutSubviews()
Properties

var focusedBuildingChangeCallback

(() -> ())?

Callback closure when changing the current building.

var intrinsicContentSize

IndoorControlModel

Model of the floors control.

Extends: Hashable
public static func == (lhs: IndoorControlModel, rhs: IndoorControlModel) -> Bool

Returns a Boolean value indicating whether two values are equal.

public convenience init(
map: Map
)
Parameters

map

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func isLevelMarked(
index: UInt64
) -> Bool

Whether to display a label at the floor with the specified index.

Parameters

index

Returns
Properties

var activeLevelIndexChannel

StatefulChannel<UInt64?>

Active floor index.

var activeLevelIndex

Active floor index.

var markedLevels

Set<LevelId>

Floors on which labels are displayed.

var levelNamesChannel

StatefulChannel<[String]>

Floor names. Blank if the map does not show a building with floor plans, or if the building has only one floor.

var levelNames

Floor names. Blank if the map does not show a building with floor plans, or if the building has only one floor.

IndoorDetector

Extends: Hashable
public static func == (lhs: IndoorDetector, rhs: IndoorDetector) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var indoorChannel

StatefulChannel<Bool>

Channel that alerts you when the user is indoors.

var indoor

Channel that alerts you when the user is indoors.

IndoorManager

Gets the current building with floor plans.

Extends: Hashable
public static func == (lhs: IndoorManager, rhs: IndoorManager) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var focusedBuildingChannel

StatefulChannel<IndoorBuilding?>

Gets the current building with floor plans.

var focusedBuilding

Gets the current building with floor plans.

IndoorRouteLevelsGetter

Allows you to get a set of floors through which the routes displayed on the map pass.

Extends: Hashable
public static func == (lhs: IndoorRouteLevelsGetter, rhs: IndoorRouteLevelsGetter) -> Bool

Returns a Boolean value indicating whether two values are equal.

public convenience init(
map: Map
)
Parameters

map

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var levelIdsChannel

StatefulChannel<Set<LevelId>>

var levelIds

Set<LevelId>

InputEvent

User input event.

Extends: Event
Properties

var timestamp

Obtains the registration time of the input event.

InstructionRouteAttribute

Container that describes a point attribute of a route. Each item is stored as a point on the route, in which the item is located, and the value of the item itself.

Extends: Hashable
public static func == (lhs: InstructionRouteAttribute, rhs: InstructionRouteAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [InstructionRouteEntry]

Elements that fall within the [begin, end) range.

Parameters
public func findNearBackward(
point: RoutePoint
) -> InstructionRouteEntry?

Finds the nearest element with position < = point.
The operation complexity is log2(N), where N = size.

Parameters
public func findNearForward(
point: RoutePoint
) -> InstructionRouteEntry?

Finds the nearest element with position > = point.
The operation complexity is log2(N), where N = size.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

var last

var entries

IntRouteAttribute

Container that describes a point attribute of a route. Each item is stored as a point on the route, in which the item is located, and the value of the item itself.

Extends: Hashable
public static func == (lhs: IntRouteAttribute, rhs: IntRouteAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [IntRouteEntry]

Elements that fall within the [begin, end) range.

Parameters
public func findNearBackward(
point: RoutePoint
) -> IntRouteEntry?

Find the nearest element with position < = point.
The operation complexity is log2(N), where N = size.

Parameters
public func findNearForward(
point: RoutePoint
) -> IntRouteEntry?

Finds the nearest element with position > = point.
The operation complexity is log2(N), where N = size.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

First element.

var last

Last element.

var entries

All elements.

ItemMarkerInfo

Object identifier and coordinates.

Extends: Hashable
public static func == (lhs: ItemMarkerInfo, rhs: ItemMarkerInfo) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var objectId

var geoPoint

var floorInfo

LaneSignRouteLongAttribute

Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. The action of the attribute starts at the given point and ends at the next point, starting from which the action of the attribute of the next element begins.

Extends: Hashable
public static func == (lhs: LaneSignRouteLongAttribute, rhs: LaneSignRouteLongAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entry(
point: RoutePoint
) -> LaneSignRouteLongEntry?

Element in which the point falls.

Parameters
public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [LaneSignRouteLongEntry]

Elements partially or completely covered by the [begin, end] segment.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

var last

var entries

LocaleManager

Manager of locale settings of an application.

Extends: Hashable
public static func == (lhs: LocaleManager, rhs: LocaleManager) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func overrideLocales(
locales: [String]
)
Parameters

locales

func overrideLocales(_ locales: [Locale])
Parameters

locales

Map

Map.

Extends: Hashable
public static func == (lhs: Map, rhs: Map) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func setFontIconSizeMultiplier(
multiplier: Float
) throws

Sets the size multiplier for icons and fonts obtained from the application.
Through set_font_icon_size_multiplier, you can set the size multiplier for icons and fonts without having to change the system multiplier and thus without affecting the size of icons and fonts in other applications.

Parameters

multiplier

Float
public func resetFontIconSizeMultiplier()

Resets the size multiplier for icons.

public func addSource(
source: Source
)

Adds a data source to the map.
Happens asynchronously. The method can be called from any thread, thread-safe.

Parameters

source

public func removeSource(
source: Source
)

Removes a data source from the map.
Happens asynchronously. The method can be called from any thread, thread-safe.

Parameters

source

public func getRenderedObjects(
centerPoint: ScreenPoint,
radius: ScreenDistance = ScreenDistance(value: 1)
) -> Future<[RenderedObjectInfo]>

Gets the displayed map objects projected on a circle on the screen.
The list of objects is formed in the rendering order from late to early.

Parameters

centerPoint

Circle center.

radius

Circle radius.

Returns
RenderedObjectInfo<[]>
public func setNavigation(_ isOn: Bool)

Sets the navigation flag. Affects how the map uses styles for the navigator mode.

Parameters

isOn

Properties

var id

Identifier of the map instance, unique within the process.

var camera

Gets a camera.

var indoorManager

Gets floor plan manager.

var dataLoadingStateChannel

StatefulChannel<MapDataLoadingState>

Notification of the status of data being loaded into the map.
When tracking a camera position, the map state is always MapDataLoadingState::Loading.

var dataLoadingState

Notification of the status of data being loaded into the map.
When tracking a camera position, the map state is always MapDataLoadingState::Loading.

var styleChannel

StatefulChannel<Style>

Gets the current map styles.

var style

Gets the current map styles.

var fontIconSizeMultiplierChannel

StatefulChannel<Float>

Icon and font size multiplier obtained from the application.

var fontIconSizeMultiplier

Float

Icon and font size multiplier obtained from the application.

var sources

Obtains map data sources.
Happens asynchronously. The method can be called from any thread, thread-safe.

var mapVisibilityStateChannel

StatefulChannel<MapVisibilityState>

var mapVisibilityState

var attributes

Gets attributes.
The following properties must be specified: “theme”=“day|night” “navigatorOn”=“true|false”

var interactiveChannel

StatefulChannel<Bool>

Interactivity of the map (a user can interact with the map). If interactivity is disabled, the map stops responding to input events obtained from the user. Also, the map controls (zooming in and moving to the current position) stop working. However, you can still work with the map via set_position/move. When switching to a non-interactive state, incomplete gestures are reset. By default, the map is interactive (interactive == true).
The function can be called from any thread.

var interactive

Interactivity of the map (a user can interact with the map). If interactivity is disabled, the map stops responding to input events obtained from the user. Also, the map controls (zooming in and moving to the current position) stop working. However, you can still work with the map via set_position/move. When switching to a non-interactive state, incomplete gestures are reset. By default, the map is interactive (interactive == true).
The function can be called from any thread.

MapManager

Interface that allows you to add maps to and remove them from the navigator.

Extends: Hashable
public static func == (lhs: MapManager, rhs: MapManager) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func addMap(
map: Map
)
Parameters

map

public func removeMap(
map: Map
)
Parameters

map

MapObject

Object on the map.

Extends: Hashable
public static func == (lhs: MapObject, rhs: MapObject) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var userData

Any

Random custom data attached to the object.

MapObjectManager

Extends: Hashable
public static func == (lhs: MapObjectManager, rhs: MapObjectManager) -> Bool

Returns a Boolean value indicating whether two values are equal.

public convenience init(
map: Map,
layerId: String? = nil
)

Create IMapObjectManager.

Parameters

map

layerId

ID of a layer with "Dynamic object" style type. Created objects will be stored in this layer so that you can define their order relative to other layers. If not set, objects are stored above other layers.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public static func withClustering(
map: Map,
logicalPixel: LogicalPixel,
maxZoom: Zoom,
clusterRenderer: SimpleClusterRenderer,
minZoom: Zoom = Zoom(value: 0),
layerId: String? = nil
) -> MapObjectManager

Create IMapObjectManager with data clustering. Only IMarker objects are clustered.

Parameters

map

logicalPixel

Minimum possible distance on the screen between marker anchor points on levels where clustering works.

maxZoom

The level from which all markers are visible.

clusterRenderer

Interface for specifying cluster display parameters.

minZoom

The level from which clusters are formed.

layerId

ID of a layer with "Dynamic object" style type. Created objects will be stored in this layer so that you can define their order relative to other layers. If not set, objects are stored above other layers.

Returns
public static func withGeneralization(
map: Map,
logicalPixel: LogicalPixel,
maxZoom: Zoom,
minZoom: Zoom = Zoom(value: 0),
layerId: String? = nil
) -> MapObjectManager

Create IMapObjectManager with data generalization. Only IMarker objects are generalized.

Parameters

map

logicalPixel

The minimum possible distance on the screen between marker anchor points on the levels where generalization works.

maxZoom

The level from which all markers are visible.

minZoom

The level from which the generalization works.

layerId

ID of a layer with "Dynamic object" style type. Created objects will be stored in this layer so that you can define their order relative to other layers. If not set, objects are stored above other layers.

Returns
public func addObject(
item: SimpleMapObject
)

Adds an object.

Parameters
public func removeObject(
item: SimpleMapObject
)

Removes an object.

Parameters
public func addObjects(
objects: [SimpleMapObject]
)

Adds objects.

Parameters
public func removeObjects(
objects: [SimpleMapObject]
)

Removes objects.

Parameters
public func removeAndAddObjects(
objectsToRemove: [SimpleMapObject],
objectsToAdd: [SimpleMapObject]
)

Removes and adds objects.

Parameters

objectsToRemove

objectsToAdd

public func removeAll()
public func clusteringObjects(
position: CameraPosition
) -> [MapObject]

Gets the list of objects participating in clustering at the transmitted camera position. The list will contain both clusters and markers.

Parameters
Properties

var isVisible

Overrides the visibility of all objects added to the manager instance. The value false here takes precedence over the visibility of an individual object.

MapObjectTappedCallback

Stores a callback function that is called when you click on the map.

public init(callback: @escaping (_ objectInfo: RenderedObjectInfo) -> Void)
public static func == (lhs: MapObjectTappedCallback, rhs: MapObjectTappedCallback) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func call(objectInfo: RenderedObjectInfo)
Parameters

MapRotationBeginEvent

Event of the beginning of the map rotation around the point.

Extends: Event
public convenience init(
inDirection: MapRotationDirection
)
Parameters
Properties

MapRotationEndEvent

Event of the end of the map rotation around the point.

Extends: Event
public convenience init()

MapScalingBeginEvent

Event of the beginning of scaling.

Extends: Event
public convenience init(
inDirection: MapScalingDirection
)
Parameters
Properties

MapScalingEndEvent

Event of the end of scaling.

Extends: Event
public convenience init()

MapShiftBeginEvent

Event of the map shifting start.

Extends: Event
public convenience init(
inDirection: MapShiftDirection
)
Parameters
Properties

MapShiftEndEvent

Event of the end of a map shift.

Extends: Event
public convenience init()

Marker

Point mark on the map that is of interest to the user.

public convenience init(
options: MarkerOptions
)
Parameters
Properties

var position

Gets marker location.

var icon

Obtains marker icon.

var anchor

Gets the anchor point of the marker icon.

var iconOpacity

Gets the transparency of the marker icon.

var text

Gets the marker caption.

var textStyle

Gets the marker caption style.

var isDraggable

Gets the marker relocatability flag.

var iconWidth

Gets the target marker width used for scaling.

var iconMapDirection

Angle of rotation of the marker on the map relative to the north direction, clockwise.

var animatedAppearance

Whether to animate the appearance.

MetalOptions

Options for creating a map on Metal.

Extends: Hashable
public static func == (lhs: MetalOptions, rhs: MetalOptions) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

MillisecondsRouteAttribute

Container that describes a point attribute of a route. Each item is stored as a point on the route, in which the item is located, and the value of the item itself.

Extends: Hashable
public static func == (lhs: MillisecondsRouteAttribute, rhs: MillisecondsRouteAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [MillisecondsRouteEntry]

Elements that fall within the [begin, end) range.

Parameters
public func findNearBackward(
point: RoutePoint
) -> MillisecondsRouteEntry?

Finds the nearest element with position < = point.
The operation complexity is log2(N), where N = size.

Parameters
public func findNearForward(
point: RoutePoint
) -> MillisecondsRouteEntry?

Finds the nearest element with position > = point.
The operation complexity is log2(N), where N = size.

Parameters
public func calculateDuration(
routePoint: RoutePoint
) -> TimeInterval

Calculates the expected travel time to the end of the route.

Parameters

routePoint

Current position on the route.

Returns
TimeInterval
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

var last

var entries

Model

Navigator model intended to be displayed in the UI.

Extends: Hashable
public static func == (lhs: Model, rhs: Model) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func betterRouteResponse(
response: BetterRouteResponse
)

User response on the application of the suggested better route.

Parameters
Properties

var stateChannel

StatefulChannel<State>

Navigator state.

var state

Navigator state.

var locationChannel

StatefulChannel<Location?>

Current geoposition that the navigator is working with.

var location

Current geoposition that the navigator is working with.

var locationAvailableChannel

StatefulChannel<Bool>

Flag that indicates whether the current geoposition is used for navigation. After obtaining the geoposition, the navigator decides whether it is suitable for navigation (for example, if the geoposition has too large error, the navigator may decide that it is not suitable for navigation). If the geoposition is suitable for navigation, the navigator sets true in this channel, if not - false.
Even if the value in this channel is false, the geoposition can be updated in the location_channel.

var locationAvailable

Flag that indicates whether the current geoposition is used for navigation. After obtaining the geoposition, the navigator decides whether it is suitable for navigation (for example, if the geoposition has too large error, the navigator may decide that it is not suitable for navigation). If the geoposition is suitable for navigation, the navigator sets true in this channel, if not - false.
Even if the value in this channel is false, the geoposition can be updated in the location_channel.

var routeChannel

StatefulChannel<RouteInfo>

Route with maneuvers.
In the free roam mode (StateChannel::FreeRoam), there is no route that the user is following. That is why the navigator represents the road section on that the user is currently moving as a route and returns it as the current route. This description of the road is not a full-fledged route, because it has no finish line and maneuvers.

var route

Route with maneuvers.
In the free roam mode (StateChannel::FreeRoam), there is no route that the user is following. That is why the navigator represents the road section on that the user is currently moving as a route and returns it as the current route. This description of the road is not a full-fledged route, because it has no finish line and maneuvers.

var dynamicRouteInfoChannel

StatefulChannel<DynamicRouteInfo>

Traffic events and traffic data on the route or on the predicted part of the route for FreeRoam mode.

var dynamicRouteInfo

Traffic events and traffic data on the route or on the predicted part of the route for FreeRoam mode.

var routePositionChannel

StatefulChannel<RoutePoint?>

Current user position on the route.

var routePosition

Current user position on the route.

var exceedingMaxSpeedLimitChannel

StatefulChannel<Bool>

Flag of exceeding the maximum allowed speed.

var exceedingMaxSpeedLimit

Flag of exceeding the maximum allowed speed.

var betterRouteChannel

StatefulChannel<BetterRouteInfo?>

Signal about finding an alternative route with a shorter expected travel time. If the value in the channel is nil, it means that an alternative route is found or is no longer relevant.

var betterRoute

Signal about finding an alternative route with a shorter expected travel time. If the value in the channel is nil, it means that an alternative route is found or is no longer relevant.

var distance

Measurement<UnitLength>?

Distance from the current position to the end of the route.

var duration

Travel time from the current position to the end of the route.

var isFreeRoam

MyLocationController

Controls the display of the current position marker.

Extends: Hashable
public static func == (lhs: MyLocationController, rhs: MyLocationController) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

MyLocationControlModel

Model of the control of the flyover to the user's location. The control consists of a button that, when pressed, moves the camera to the user's location. If no location is defined, nothing happens. The object methods must be called on the same thread.

Extends: Hashable
public static func == (lhs: MyLocationControlModel, rhs: MyLocationControlModel) -> Bool

Returns a Boolean value indicating whether two values are equal.

public convenience init(
map: Map,
transitionType: TransitionType = TransitionType.smooth
)
Parameters

map

transitionType

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func onClicked()
Properties

var isEnabledChannel

StatefulChannel<Bool>

var isEnabled

var followStateChannel

StatefulChannel<CameraFollowState>

var followState

MyLocationMapObject

Geoposition marker.

Extends: MapObject

MyLocationMapObjectSource

Source containing a geoposition marker.

Extends: Source
public convenience init(
context: Context,
directionBehaviour: MyLocationDirectionBehaviour
)

Creates a geoposition marker source that uses map data with smooth changes.

Parameters

context

directionBehaviour

public convenience init(
context: Context,
directionBehaviour: MyLocationDirectionBehaviour,
controller: MyLocationController
)

Create a geopositioning marker source.

Parameters
Methods
public func setDirectionBehaviour(
directionBehaviour: MyLocationDirectionBehaviour
)

Select the behavior of the marker direction.

Parameters
Properties

var item

Get geo-positioning marker.

Interface for managing map tracking of the geopositioning marker in the navigator.

Extends: Hashable
Methods
Properties

Timeout after which the map will automatically return to Geoposition Marker Tracking mode after the user has moved it. 0 - automatic return to Geoposition Marker tracking mode is disabled.

Extends: UIControl

Root public interface of the navigator.

Extends: Hashable
Methods
Properties

Navigator model intended to be displayed in the UI.

Navigates indoors.

Controls the automatic return of the map to track the geo-position marker.

Navigator map manager.

Settings of map scaling during the guidance mode.

Route display settings on the map.

Settings for the source used to display the route on the map.

Route guidance simulation settings.

Manages voice packets in the current navigator session.

Settings for speeding detection.

Settings for getting and updating dynamic route data.

Settings for sound alerts in the current navigator session.

Settings for driving without a route in free roam mode.

Settings of finding alternate routes in the guidance mode.

Voice to be used in the navigator.

Extends: Hashable
Methods
Methods
Properties

NewValuesNotifier

Object interface that reports that there is a change in one of the parameters.

Extends: Hashable
public static func == (lhs: NewValuesNotifier, rhs: NewValuesNotifier) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func sendNotification()

Must be called to report a parameter update.

ObstacleInfoRouteAttribute

Container that describes a point attribute of a route. Each item is stored as a point on the route, in which the item is located, and the value of the item itself.

Extends: Hashable
public static func == (lhs: ObstacleInfoRouteAttribute, rhs: ObstacleInfoRouteAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [ObstacleInfoRouteEntry]

Elements that fall within the [begin, end) range.

Parameters
public func findNearBackward(
point: RoutePoint
) -> ObstacleInfoRouteEntry?

Find the nearest element with position < = point.
The operation complexity is log2(N), where N = size.

Parameters
public func findNearForward(
point: RoutePoint
) -> ObstacleInfoRouteEntry?

Find the nearest element with position > = point.
The operation complexity is log2(N), where N = size.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

var last

var entries

ObstacleInfoRouteLongAttribute

Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. The action of the attribute starts at the given point and ends at the next point, starting from which the action of the attribute of the next element begins.

Extends: Hashable
public static func == (lhs: ObstacleInfoRouteLongAttribute, rhs: ObstacleInfoRouteLongAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entry(
point: RoutePoint
) -> ObstacleInfoRouteLongEntry?

Element in which the point falls.

Parameters
public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [ObstacleInfoRouteLongEntry]

Elements partially or completely covered by the [begin, end] segment.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

var last

var entries

Package

Package. For the convenience of working (installing, updating, deleting), data in 2GIS SDK is grouped into sets according to its functional and logical purpose. A set of grouped data is called a package. Within a single package, the functional purpose of the data is unique. However, data sets of packages with the same functionality may overlap, i.e. data from several packages may have common files. During operations with a group of such packages, the shared data will be processed (downloaded, unpacked, deleted) only once.

Extends: Hashable
public static func == (lhs: Package, rhs: Package) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func install()

Start the package installation or update.

public func uninstall()

Start the package removal.

Properties

var id

Stable technical package ID.

var infoChannel

StatefulChannel<PackageInfo>

Package information.

var info

Package information.

var progressChannel

StatefulChannel<UInt8>

Progress of the package installation or update operation in percent. If the package is not installed locally, the channel contains a value of 0. If the package is installed locally, regardless of whether the data is up to date and compatible with the current SDK version, the channel contains the value 100. If the package is in the installation or upgrade phase, the channel contains an updatable value in the range [0, 100].

var progress

Progress of the package installation or update operation in percent. If the package is not installed locally, the channel contains a value of 0. If the package is installed locally, regardless of whether the data is up to date and compatible with the current SDK version, the channel contains the value 100. If the package is in the installation or upgrade phase, the channel contains an updatable value in the range [0, 100].

PackageManager

Interface for centralized management of packages:

Extends: Hashable
public static func == (lhs: PackageManager, rhs: PackageManager) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func checkForUpdates()

Forced check for updates.

Properties

var autoupdateEnabled

Status of auto update: enabled/disabled.

var packagesChannel

StatefulChannel<[Package]>

Channel with a list of all known packages. Refreshed if information about at least one of the packages is changed, or if the list composition is changed.

var packages

Channel with a list of all known packages. Refreshed if information about at least one of the packages is changed, or if the list composition is changed.

PackedMapState

Serialized map state.

Extends: Hashable
public static func == (lhs: PackedMapState, rhs: PackedMapState) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public static func of(
position: CameraPosition,
showTraffic: Bool
) -> PackedMapState

Gets map status.

Parameters

position

Camera position.

showTraffic

Traffic display state on the map.

Returns
PackedMapState

Serialized map state.

public static func fromBytes(
data: Data
) throws -> PackedMapState

Gets map status.

Parameters

data

Data

Map state as a sequence of bytes.

Returns
PackedMapState

Serialized map state.

public static func fromMap(
map: Map
) -> PackedMapState

Gets map status.

Parameters

map

Map the state of which is to be obtained.

Returns
PackedMapState

Serialized map state.

public func toBytes() -> Data

Represents map state as a sequence of bytes.

Returns
Data
Properties

var showTraffic

Gets the state of the traffic display on the map.

var cameraPosition

Obtains the camera position.

PackedNavigationState

Auxiliary object for serialization and deserialization of the navigation state.

Extends: Hashable
public static func == (lhs: PackedNavigationState, rhs: PackedNavigationState) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public static func of(
trafficRoute: TrafficRoute,
routeSearchOptions: RouteSearchOptions? = nil,
finishPoint: RouteSearchPoint? = nil,
routePosition: RoutePoint? = nil,
state: State = State.disabled
) -> PackedNavigationState

Creates an object from the listed elements.

Parameters

trafficRoute

routeSearchOptions

finishPoint

routePosition

state

Returns
public static func fromBytes(
data: Data
) throws -> PackedNavigationState

Deserialization of the navigation state. Invalid elements in the saved state are skipped or replaced by default values.

Parameters

data

Data
Returns
public static func fromModel(
model: Model
) -> PackedNavigationState

Creates an object from the navigator model.

Parameters
public func toBytes() -> Data

Serialization of the navigation state.

Returns
Data
Properties

var trafficRoute

var finishPoint

Finish point of the route.

var routeSearchOptions

Route building options.

var routePosition

Position on the route.

var state

Current navigation state.

PackedSearchQuery

Auxiliary object for serializing and deserializing a search query.

Extends: Hashable
public static func == (lhs: PackedSearchQuery, rhs: PackedSearchQuery) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public static func fromBytes(
data: Data
) throws -> PackedSearchQuery

Deserialization of a search query.

Parameters

data

Data
Returns
public static func fromSearchQuery(
searchQuery: SearchQuery
) -> PackedSearchQuery
Parameters
public func toBytes() -> Data
Returns
Data
public func toSearchQuery() -> SearchQuery
Properties

var queryText

Query text. For some queries (e.g., revealing a rubric from a suggest), there is no text because the query stores identifiers, and the behavior is different than searching the text of a suggest element.

var spatialRestriction

Geometry limiting the search area.

var areaOfInterest

Rectangular area of interest.

var allowedResultTypes

Restriction on the object types returned by the search.

var pageSize

Int32

The size of the output page.

var directoryFilter

Information about active filters.

var sortingType

Type of result sorting.

Page

Page with search results.

Extends: Hashable
public static func == (lhs: Page, rhs: Page) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func fetchPrevPage() -> Future<Page?>

Gets the previous page of results.

public func fetchNextPage() -> Future<Page?>

Gets the next page of results.

Properties

var items

The non-empty set of directory objects of this page.

PerformSearchHandler

Looking for a specific set of objects is suggested.

Extends: Hashable
public static func == (lhs: PerformSearchHandler, rhs: PerformSearchHandler) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var searchQuery

Query to run through a search engine.

PlatformLocationFollowController

Geopositioning and compass tracking controller.

public convenience init(
map: Map
)

Creates a geopositioning and a compass tracking controller.

Parameters

map

Methods
public func setAnimationDuration(
duration: TimeInterval
)

Sets the animation duration.

Parameters

duration

TimeInterval

PointGeometry

Point.

Extends: Geometry
public convenience init(
point: GeoPoint
)
Parameters
public convenience init(
point: GeoPointWithElevation
)
Parameters
Properties

Polygon

Polygon on the map.

public convenience init(
options: PolygonOptions
)

Creates a polygon based on parameters.

Parameters
Properties

var contours

var color

var strokeWidth

var strokeColor

PolygonGeometry

Polygon.

Extends: Geometry
public convenience init(
contours: [[GeoPoint]]
)
Parameters

contours

Properties

var contours

Polyline

Polyline on the map.

public convenience init(
options: PolylineOptions
)
Parameters
Properties

var points

var width

var color

var erasedPart

var dashedPolylineOptions

Getting dashed polyline parameters.

var gradientPolylineOptions

Gets gradient polyline parameters.

PolylineGeometry

Polyline.

Extends: Geometry
public convenience init(
points: [GeoPoint]
)
Parameters
Properties

var points

Projection

Projection.

Extends: Hashable
public static func == (lhs: Projection, rhs: Projection) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func screenToMap(
point: ScreenPoint
) -> GeoPoint?

Calculates a map point at the specified screen point.
The function returns an empty value if the specified screen point is outside the map projection.

Parameters
public func mapToScreen(
point: GeoPoint
) -> ScreenPoint?

Calculates a screen point corresponding to the specified map point.
The function returns an empty value:

Parameters
public func mapToScreen(
point: GeoPointWithElevation
) -> ScreenPoint?

Calculates a screen point corresponding to the specified map point with elevation.
The function returns an empty value:

Parameters
public func screenToMapClipped(
point: ScreenPoint
) -> GeoPoint

Calculates the map point closest to the projection of the specified screen point.

Parameters

PublicTransportTransferRouteLongAttribute

Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. The action of the attribute starts at the given point and ends at the next point, starting from which the action of the attribute of the next element begins.

Extends: Hashable
public static func == (lhs: PublicTransportTransferRouteLongAttribute, rhs: PublicTransportTransferRouteLongAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entry(
point: RoutePoint
) -> PublicTransportTransferRouteLongEntry?

Element in which the point falls.

Parameters
public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [PublicTransportTransferRouteLongEntry]

Elements partially or completely covered by the [begin, end] segment.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

var last

var entries

Remover

Object for removing user-created content.

Extends: Hashable
public static func == (lhs: Remover, rhs: Remover) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func remove() -> Future<ActionResult>

Removing content.
The action is available only for the content authored by the user.

Returns
Future<>

RoadEvent

Road event.

Extends: Hashable
public static func == (lhs: RoadEvent, rhs: RoadEvent) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func photos() -> Future<[RoadEventPhoto]>

Event photo.

Properties

var type

Event type.

var name

Localized event name.

var author

Information about the user who added the event.

var timestamp

Date?

Event creation timestamp.

var location

Event coordinates.

var description

User description of the road event.

var cameraInfo

Camera information.
Available for events of the “Camera” type only.

var schedule

Schedule.
Currently only available for road closures (not always).

var lanes

Lanes affected by the event.
Currently can be specified for custom events only.

var availableActions

List of available actions with the event.

var remover

Obtains an object to delete an event.

RoadEventAction

Event action.

Extends: Hashable
public static func == (lhs: RoadEventAction, rhs: RoadEventAction) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func `set`() -> Future<ActionResult>

Applying an action (for example, adding a “like” mark or confirming an event).
There are opposite actions, for example, “like” and “dislike”. If both of such actions are available for an event, calling the method resets the application of the opposite action so that one cannot “like” and “dislike” at the same time.

Returns
Future<>
public func reset() -> Future<ActionResult>

Cancels an action (for example, resetting a “like” mark or revoking event confirmation).
There are opposite actions, for example, “like” and “dislike”. If both of such actions are available for an event, calling the method does not cause the application of the opposite action.

Returns
Future<>
Properties

var type

Type of action.

var name

Localized name of the action.

var infoChannel

StatefulChannel<RoadEventActionInfo>

Action information.

var info

Action information.

RoadEventManager

Object for creating transport events.

Extends: Hashable
public static func == (lhs: RoadEventManager, rhs: RoadEventManager) -> Bool

Returns a Boolean value indicating whether two values are equal.

public convenience init(
context: Context
)

Gets an object to create road events.

Parameters

context

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func createAccident(
location: GeoPoint,
lanes: LaneOptionSet,
description: String
) -> Future<AddEventResult>

Creating a “Road accident” event.

Parameters

location

Event location.

lanes

Lanes of the road affected by the event.

description

Custom event description.

Returns
Future<>
public func createCamera(
location: GeoPoint,
description: String
) -> Future<AddEventResult>

Creates a “Camera” event.

Parameters

location

Event location.

description

Custom event description.

Returns
Future<>
public func createRoadRestriction(
location: GeoPoint,
description: String
) -> Future<AddEventResult>

Creates a “Road closure” event.

Parameters

location

Event location.

description

Custom event description.

Returns
Future<>
public func createComment(
location: GeoPoint,
description: String
) -> Future<AddEventResult>

Creates a “Comment” event.

Parameters

location

Event location.

description

Custom event description.

Returns
Future<>
public func createOther(
location: GeoPoint,
lanes: LaneOptionSet,
description: String
) -> Future<AddEventResult>

Creates an “Other” event.

Parameters

location

Event location.

lanes

Lanes of the road affected by the event.

description

Custom event description.

Returns
Future<>
public func createRoadWorks(
location: GeoPoint,
lanes: LaneOptionSet,
description: String
) -> Future<AddEventResult>

Creates a “Road works” event.

Parameters

location

Event location.

lanes

Lanes of the road affected by the event.

description

Custom event description.

Returns
Future<>

RoadEventMapObject

“Road event” map object.

Extends: MapObject
Properties

var event

Obtains a road event.

RoadEventPhoto

Photo of a road event.

Extends: Hashable
public static func == (lhs: RoadEventPhoto, rhs: RoadEventPhoto) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func previewUrl(
desiredSize: ScreenSize
) -> String

URL of a photo preview.

Parameters

desiredSize

Returns
public func report() -> Future<ActionResult>

Sends a complaint about a photo.
A complaint about your photo will not be processed.

Returns
Future<>
Properties

var photoUrl

URL of the full-size photo.

var author

Information about the user who added the photo.

var timestamp

Date

Timestamp.

var remover

Obtaining an object to delete a photo.

RoadEventRouteAttribute

Container that describes a point attribute of a route. Each item is stored as a point on the route, in which the item is located, and the value of the item itself.

Extends: Hashable
public static func == (lhs: RoadEventRouteAttribute, rhs: RoadEventRouteAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [RoadEventRouteEntry]

Elements that fall within the [begin, end) range.

Parameters
public func findNearBackward(
point: RoutePoint
) -> RoadEventRouteEntry?

Finds the nearest element with position < = point.
The operation complexity is log2(N), where N = size.

Parameters
public func findNearForward(
point: RoutePoint
) -> RoadEventRouteEntry?

Finds the nearest element with position > = point.
The operation complexity is log2(N), where N = size.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

First element.

var last

var entries

RoadEventSource

Interface of the class that controls the display of road events (tUGC) on the map.

Extends: Source
public convenience init(
context: Context
)

Creates a source to display road events on the map.

Parameters

context

Properties

var visibleEvents

Gets the current event categories provided by this source.

RoadMacroGraph

Global road graph package, used to build a passage between two loaded offline territories.

Extends: Package

RoadRuleRouteLongAttribute

Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. The action of the attribute starts at the given point and ends at the next point, starting from which the action of the attribute of the next element begins.

Extends: Hashable
public static func == (lhs: RoadRuleRouteLongAttribute, rhs: RoadRuleRouteLongAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entry(
point: RoutePoint
) -> RoadRuleRouteLongEntry?

Element in which the point falls.

Parameters
public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [RoadRuleRouteLongEntry]

Elements partially or completely covered by the [begin, end] segment.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

var last

var entries

RoadSubtypeRouteLongAttribute

Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. The action of the attribute starts at the given point and ends at the next point, starting from which the action of the attribute of the next element begins.

Extends: Hashable
public static func == (lhs: RoadSubtypeRouteLongAttribute, rhs: RoadSubtypeRouteLongAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entry(
point: RoutePoint
) -> RoadSubtypeRouteLongEntry?

Element in which the point falls.

Parameters
public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [RoadSubtypeRouteLongEntry]

Elements partially or completely covered by the [begin, end] segment.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

var last

var entries

RoadSurfaceRouteLongAttribute

Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. The action of the attribute starts at the given point and ends at the next point, starting from which the action of the attribute of the next element begins.

Extends: Hashable
public static func == (lhs: RoadSurfaceRouteLongAttribute, rhs: RoadSurfaceRouteLongAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entry(
point: RoutePoint
) -> RoadSurfaceRouteLongEntry?

Element in which the point falls.

Parameters
public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [RoadSurfaceRouteLongEntry]

Elements partially or completely covered by the [begin, end] segment.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

var last

var entries

RoadTypeRouteLongAttribute

Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. The action of the attribute starts at the given point and ends at the next point, starting from which the action of the attribute of the next element begins.

Extends: Hashable
public static func == (lhs: RoadTypeRouteLongAttribute, rhs: RoadTypeRouteLongAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entry(
point: RoutePoint
) -> RoadTypeRouteLongEntry?

Element in which the point falls.

Parameters
public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [RoadTypeRouteLongEntry]

Elements partially or completely covered by the [begin, end] range.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

var last

var entries

RotateMapToNorthEvent

Event of turning a map northward.

Extends: Event
public convenience init()

Route

Describes a route. A route is a set of attributes, each of which is a container of type RouteAttribute or RouteLongAttribute that stores route attribute elements. Route attributes are classified into point attributes and extended attributes. Point attributes (e.g., geometry points or speed bumps) are specified as a pair of a RoutePoint and an attribute value. Extended attributes (such as roadway widths or speed limits) are specified as a pair of a RoutePoint that indicates the start of the attribute and an attribute value. A terminator is placed at the end of the route. For example, if the width of the roadway is specified as a set of pairs {{0m, 3m}, {10m, 7m}, {20m, 5m}, {30m, 0m}}, then for the first 10 meters of the route the roadway is 3 meters wide; at the interval [10m., 20m.) the width is 7 meters; from 20m to the end of the route - 5 meters.

Extends: Hashable
public static func == (lhs: Route, rhs: Route) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var geometry

Route geometry.
The RoutePoint of geometry points is not guaranteed to match the RoutePoint of other attribute elements. To calculate the geographic coordinate of an attribute element, you do not need to search the geometry for an element whose RoutePoint matches the RoutePoint of the attribute element. Use the calculate_geo_point function instead.

var instructions

Instructions that must be followed to move along the route.

var intermediatePoints

Intermediate points of a route. The route may not pass directly through an intermediate point, but next to it. The attribute value stores the coordinate where the intermediate point was set, the key stores the coordinate of the projection of the intermediate point on the route.

var altitudes

Elevations on the route.

var badRoads

Bad road (there are bumps and potholes on the road that prevent passage).

var obstacles

Obstacles on a route.

var roadNames

Names of roads/streets.

var settlements

Indication that a section of the route passes through a populated area.

var transportTypes

Mode of transport for which a section of the route is built.

var cameras

var carriagewaysWidth

Width of the roadway in meters. 0 - width unknown.

var exitSigns

var humps

Artificial bumps.

var lanes

var levels

var maxSpeedLimits

Maximum permissible speed limits.
0 - speed limit is unknown.

var roadRules

var roadSubtypes

Additional description to the type of road on which the route runs.

var roadSurfaces

var roadTypes

Type of road the route takes.

var tolls

Sections of the route on toll roads.

var truckData

Indication of the presence or absence of data for freight navigation.

var truckPassZoneIds

Passing zones for trucks.

var truckRestrictedAreas

Indication of the validity of the no-traffic sign.

var vehicleRestrictedAreas

Indication of a sign prohibiting the passage of any motor vehicle (overlap).

var publicTransportTransfers

Description of how to travel by public transport between transfer points.

RouteEditor

Interface for the route editor. The route editor receives start and end points of the route, builds routes and notifies about their updates and realignments via channels.
All methods of this interface are called from a single thread.

Extends: Hashable
public static func == (lhs: RouteEditor, rhs: RouteEditor) -> Bool

Returns a Boolean value indicating whether two values are equal.

public convenience init(
context: Context
)

Creates a route editor.

Parameters

context

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func setRouteParams(
routeParams: RouteEditorRouteParams
)

Sets the parameters of the route editor. Starts the search for a new route according to the specified parameters.

Parameters
public func setActiveRouteIndex(
index: RouteIndex
)

Sets the active route index.

Parameters
Properties

var routesInfoChannel

StatefulChannel<RouteEditorRoutesInfo>

Channel through which you can monitor updates of route information operated by the editor.

var routesInfo

Channel through which you can monitor updates of route information operated by the editor.

var activeRouteIndexChannel

StatefulChannel<RouteIndex?>

Channel through which you can monitor updates of the active route index. If there are no routes, nil is placed in this channel.

var activeRouteIndex

Channel through which you can monitor updates of the active route index. If there are no routes, nil is placed in this channel.

RouteEditorSource

Interface of the class managing the display of routes on the map.

Extends: Source
public convenience init(
context: Context,
routeEditor: RouteEditor,
activeDisplayFlags: RouteMapObjectDisplayFlagOptionSet? = nil,
inactiveDisplayFlags: RouteMapObjectDisplayFlagOptionSet? = nil,
activeCalloutLabelFlags: RouteMapObjectCalloutLabelFlagOptionSet? = nil,
inactiveCalloutLabelFlags: RouteMapObjectCalloutLabelFlagOptionSet? = nil,
calloutLabelDisplayMode: RouteMapObjectCalloutLabelDisplayMode = RouteMapObjectCalloutLabelDisplayMode.absoluteValues,
activePermanentDisplayFlags: RouteMapObjectPermanentDisplayFlagOptionSet? = nil,
inactivePermanentDisplayFlags: RouteMapObjectPermanentDisplayFlagOptionSet? = nil
)

Function to create IRouteEditorSource.

Parameters
Methods
public func setRoutesVisible(
visible: Bool
)

Enables or disables the display of routes on the map.

Parameters

visible

public func setShowOnlyActiveRoute(
showOnlyActiveRoute: Bool
)

Displays all routes (false) or only the currently active one (true) on the map.

Parameters

showOnlyActiveRoute

public func setPassedDistanceVisualization(
passedDistanceVisualization: RouteMapObjectPassedDistanceVisualization
)

Changes the way to visualize the distance traveled along the route.

Parameters
Properties

var objects

Objects of the route on the map.

var routeSourceSettings

Settings for displaying maneuvers on the route.

var activeDisplayFlags

Flags to display the active route. See IRouteMapObject::display_flags.

var inactiveDisplayFlags

Flags to display inactive routes. See IRouteMapObject::display_flags.

var activeCalloutLabelFlags

Flags that enable the display of the contents of the active route bubbles. See IRouteMapObject::callout_label_flags.

var inactiveCalloutLabelFlags

Flags that enable the display of the contents of inactive routes. See IRouteMapObject::callout_label_flags.

var calloutLabelDisplayMode

Mode of displaying the contents of route bubbles. See IRouteMapObject::callout_label_display_mode.

var activePermanentDisplayFlags

Flags that prevent components of the active route from being hidden on the map. See IRouteMapObject::permanent_display_flags.

var inactivePermanentDisplayFlags

Flags that prevent components of inactive routes from being hidden on the map. See IRouteMapObject::permanent_display_flags.

RouteExitSignRouteAttribute

Container that describes a point attribute of a route. Each item is stored as a point on the route, in which the item is located, and the value of the item itself.

Extends: Hashable
public static func == (lhs: RouteExitSignRouteAttribute, rhs: RouteExitSignRouteAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [RouteExitSignRouteEntry]

Elements that fall within the [begin, end) range.

Parameters
public func findNearBackward(
point: RoutePoint
) -> RouteExitSignRouteEntry?

Finds the nearest element with position < = point.
The operation complexity is log2(N), where N = size.

Parameters
public func findNearForward(
point: RoutePoint
) -> RouteExitSignRouteEntry?

Finds the nearest element with position > = point.
The operation complexity is log2(N), where N = size.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

var last

var entries

RouteInfoCalloutMapObject

Bubble object with information about the route length and/or travel time on the map.

Extends: MapObject
Properties

var route

Route, part of which this bubble object represents.

var routeIndex

Route index.

var routePoint

Position on the route at which the bubble is located.

RouteLevelInfoRouteLongAttribute

Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. The action of the attribute starts at the given point and ends at the next point, starting from which the action of the attribute of the next element begins.

Extends: Hashable
public static func == (lhs: RouteLevelInfoRouteLongAttribute, rhs: RouteLevelInfoRouteLongAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entry(
point: RoutePoint
) -> RouteLevelInfoRouteLongEntry?

Element in which the point falls.

Parameters
public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [RouteLevelInfoRouteLongEntry]

Elements partially or completely covered by the [begin, end] segment.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

var last

var entries

RouteMapObject

Route object on the map.

Extends: MapObject
public convenience init(
route: TrafficRoute,
isActive: Bool,
index: RouteIndex,
displayFlags: RouteMapObjectDisplayFlagOptionSet? = nil,
calloutLabelFlags: RouteMapObjectCalloutLabelFlagOptionSet? = nil,
calloutLabelDisplayMode: RouteMapObjectCalloutLabelDisplayMode = RouteMapObjectCalloutLabelDisplayMode.absoluteValues,
permanentDisplayFlags: RouteMapObjectPermanentDisplayFlagOptionSet? = nil
)
Parameters
Properties

var displayFlagsChannel

StatefulChannel<RouteMapObjectDisplayFlagOptionSet?>

Set of flags for displaying different parts of the route. If not specified, the display logic based on the activity status of the route is used.

var displayFlags

Set of flags for displaying different parts of the route. If not specified, the display logic based on the activity status of the route is used.

var permanentDisplayFlagsChannel

StatefulChannel<RouteMapObjectPermanentDisplayFlagOptionSet?>

Set of flags to prevent different parts of the route from being hidden from the map when you update the distance traveled along the route. If not set, all route elements that fall within the non-displayed part of the route are hidden from the map when you update the distance traveled along the route.

var permanentDisplayFlags

Set of flags to prevent different parts of the route from being hidden from the map when you update the distance traveled along the route. If not set, all route elements that fall within the non-displayed part of the route are hidden from the map when you update the distance traveled along the route.

var isActiveChannel

StatefulChannel<Bool>

Route activity status.

var isActive

Route activity status.

var route

var routeIndex

Route index in the route editor.

var passedDistanceChannel

StatefulChannel<RouteDistance>

Distance traveled along the route.

var passedDistance

Distance traveled along the route.

var passedDistanceVisualizationChannel

StatefulChannel<RouteMapObjectPassedDistanceVisualization>

var passedDistanceVisualization

var calloutPositionChannel

StatefulChannel<[CalloutMapPosition]>

Route bubble position.

var calloutPosition

Route bubble position.

var calloutLabelFlagsChannel

StatefulChannel<RouteMapObjectCalloutLabelFlagOptionSet?>

Set of flags to display the contents of the route's bubble. If not set, then for the active route both route time and its length are displayed, and only the travel time is displayed for inactive routes.

var calloutLabelFlags

A set of flags to display the contents of the route's bubble. If not set, then for the active route both route time and its length are displayed, and only the travel time is displayed for inactive routes.

var calloutLabelDisplayModeChannel

StatefulChannel<RouteMapObjectCalloutLabelDisplayMode>

Mode of displaying values in the route's bubbles. By default, values are displayed as absolute magnitudes.

var calloutLabelDisplayMode

Mode of displaying values in the route's bubbles. By default, values are displayed as absolute magnitudes.

var lanesCalloutPositionsChannel

StatefulChannel<[LanesCalloutMapPosition]>

Lane bubbles positions. Only actual positions are returned for the current distance traveled along the route and only if the source, in which the object is placed, is working in navigation mode.

var lanesCalloutPositions

Lane bubbles positions. Only actual positions are returned for the current distance traveled along the route and only if the source, in which the object is placed, is working in navigation mode.

RouteMapObjectSource

Source of the route objects on the map.

Extends: Source
public convenience init(
context: Context,
routeVisualizationType: RouteVisualizationType = RouteVisualizationType.normal
)

Creates IRouteMapObjectSource.

Parameters

context

routeVisualizationType

Methods
public func addObject(
item: RouteMapObject
)

Adds a route object to the source.

Parameters
public func removeObject(
item: RouteMapObject
)

Removes a route object from the source.

Parameters
public func clear()

Removes all route objects from the source.

public func replaceAllObjects(
objects: [RouteMapObject]
)

Replaces all the objects previously added to the source with the passed list of objects. Unlike deleting and adding objects one by one, replacement is done atomically - old routes are deleted and new routes appear on the map at the same time.

Parameters
Properties

var objects

Route objects.

var routeSourceSettings

Sets up the display of objects in the source.

RouteMapSettings

Route display settings on the map.

Extends: Hashable
public static func == (lhs: RouteMapSettings, rhs: RouteMapSettings) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var onRouteDisplayFlags

Route display flags on the map for route guidance mode. All flags are enabled by default, except the InactiveFloors flag.

var freeRoamDisplayFlags

Route display flags on the map for free roam mode. The flags Cameras, Humps, Accidents, RoadWorks, Comments, RoadRestrictions, OtherEvents are enabled by default.

var onRoutePermanentDisplayFlags

Flags that prevent various route components from hiding from the map when you update the distance traveled along the route for route guidance mode. By default, all route elements are hidden.

var freeRoamPermanentDisplayFlags

Flags that prevent various route components from hiding from the map when you update the distance traveled along the route for free roam mode. By default, all route elements are hidden.

RoutePointMapObject

Point object that is part of the route on the map ( for example, the start or end point of the route).

Extends: MapObject
Properties

var route

Route part of which this point object represents.

var routeIndex

Route index.

var kind

Type of route point object.

var routePoint

Position on the route that corresponds to this point object.

var pointChannel

StatefulChannel<GeoPoint>

Geographic coordinates in which this point object is located.

var point

Geographic coordinates in which this point object is located.

RouteSourceSettings

Settings of the route source.

Extends: Hashable
public static func == (lhs: RouteSourceSettings, rhs: RouteSourceSettings) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func getLargeScaleMergeDistanceMeters(
transportType: TransportType
) -> Float

Minimum allowable distance in meters between consecutive maneuver arrows for the large scale. If the distance is less than the specified, the arrows are combined.

Parameters

transportType

Type of transport for which the distance is requested.

Returns
Float
public func setLargeScaleMergeDistanceMeters(
distance: Float,
transportType: TransportType
)

Sets the minimum allowable distance in meters between consecutive maneuver arrows for the large scale.

Parameters

distance

Float

Distance in meters.

transportType

Type of vehicle for which the distance is set.

public func getSmallScaleMergeDistanceMeters(
transportType: TransportType
) -> Float

Minimum allowable distance in meters between consecutive maneuver arrows for the small scale. If the distance is less than the specified, the arrows are combined.

Parameters

transportType

Type of transport for which the distance is requested.

Returns
Float
public func setSmallScaleMergeDistanceMeters(
distance: Float,
transportType: TransportType
)

Sets the minimum allowable distance in meters between consecutive maneuver arrows for the small scale.

Parameters

distance

Float

Distance in meters.

transportType

Type of vehicle for which the distance is set.

public func getLargeScaleCrossroadsOffsetMeters(
transportType: TransportType
) -> Float

Offset in meters from the intersection point to the beginning and end of the maneuver arrow for the large scale.

Parameters

transportType

Type of vehicle for which the offset is requested.

Returns
Float
public func setLargeScaleCrossroadsOffsetMeters(
offset: Float,
transportType: TransportType
)

Sets the offset in meters from the intersection point to the beginning and end of the maneuver arrow for the large scale. Allows you to set the size of the maneuver arrow.

Parameters

offset

Float

Offset, in meters.

transportType

Type of transport for which the offset is set.

public func getSmallScaleCrossroadsOffsetMeters(
transportType: TransportType
) -> Float

Offset from the intersection point to the beginning and end of the maneuver arrow for the small scale.

Parameters

transportType

Type of vehicle for which the offset is requested.

Returns
Float
public func setSmallScaleCrossroadsOffsetMeters(
offset: Float,
transportType: TransportType
)

Sets the offset from the intersection point to the beginning and end of the small scale maneuver arrow. Allows you to set the size of the maneuver arrow.

Parameters

offset

Float

Offset, in meters.

transportType

Type of transport for which the offset is set.

Properties

var largeScaleRingroadOffsetMeters

Float

Offset from the point of exit from the ring to the beginning and end of the maneuver arrow for large scale. Allows you to set the size of the maneuver arrow.

var smallScaleRingroadOffsetMeters

Float

Offset from the ring exit point to the beginning and end of the maneuver arrow for small scale. Allows you to set the size of the maneuver arrow.

var calloutVisualizationMode

Route time and length bubbles display mode.

ScaleMapEvent

Event of changing the map scale.

Extends: Event
public convenience init(
zoomDelta: Float,
scalingCenter: ScreenPoint? = nil
)

Zoom event builder.

Parameters

zoomDelta

Float

Value by which the current zoom value will change.

scalingCenter

Point on the screen relative to which the map scales. If not set, scaling is done relative to the map position point.

Properties

var zoomDelta

Float

Value by which the current scale value will change.

var scalingCenter

Point on the screen relative to which the map scales.

SearchManager

Search engine. The main entry point for the reference API.

Extends: Hashable
Implements: ISearchManager
public static func == (lhs: SearchManager, rhs: SearchManager) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public static func createOnlineManager(
context: Context
) throws -> SearchManager

Creates a search engine working online.

Parameters

context

Returns
public static func createOfflineManager(
context: Context
) throws -> SearchManager

Creates a search engine working with preloaded data.

Parameters

context

Returns
public static func createSmartManager(
context: Context
) throws -> SearchManager

Creates a search engine working online or with preloaded data depending on the availability of internet connection.

Parameters

context

Returns
public func suggest(
query: SuggestQuery
) -> Future<SuggestResult>

Gets hints that match this query.

Parameters
public func search(
query: SearchQuery
) -> Future<SearchResult>

Gets the directory objects that match the given query.

Parameters
public func searchById(
id: String
) -> Future<DirectoryObject?>

Get a directory object by its string identifier.

Parameters
public func searchByDirectoryObjectId(
objectId: DgisObjectId
) -> Future<DirectoryObject?>

Gets a directory object by its identifier.

Parameters

objectId

SearchQuery

Search query.

Extends: Hashable
public static func == (lhs: SearchQuery, rhs: SearchQuery) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

SearchQueryBuilder

Search query builder. The search is performed by the global index, as well as by local indexes of segments, where a segment is a certain piece of the global map partitioning. The procedure for selecting segments for search is performed in the following ways (in the descending order of priority):

Extends: Hashable
public static func == (lhs: SearchQueryBuilder, rhs: SearchQueryBuilder) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public static func fromQueryText(
queryText: String
) -> SearchQueryBuilder

Starts building a text search query with the given text.

Parameters

queryText

Returns
public static func fromRubricIds(
rubricIds: [RubricId]
) -> SearchQueryBuilder

Starts building a search query based on the rubric identifiers.

Parameters
public static func fromQueryTextAndRubricIds(
queryText: String,
rubricIds: [RubricId]
) -> SearchQueryBuilder

Starts building a search query based on the rubric identifiers.

Parameters

queryText

rubricIds

Returns
public static func fromQuery(
query: SearchQuery
) -> SearchQueryBuilder

Starts building a query based on the #query to change part of the parameters.
The original #query remains unchanged.

Parameters
public func setSpatialRestriction(
spatialRestriction: [GeoPoint]?
) -> SearchQueryBuilder

Sets the search area limitation in the polygon form. The first and the last points of the polygon do not have to coincide.
By default, no limitation is set.

Parameters

spatialRestriction

Returns
public func setAreaOfInterest(
rect: GeoRect?
) -> SearchQueryBuilder

Sets the rectangular region of interest in geographic coordinates. A typical value is visible_rect from ICamera - the enclosing rectangle of the view area.

Parameters
public func setAllowedResultTypes(
allowedResultTypes: [ObjectType]
) -> SearchQueryBuilder

Specifies the object types allowed as a result of the request.
By default, all types except Route are allowed.

Parameters

allowedResultTypes

Returns
public func setPageSize(
pageSize: Int32
) -> SearchQueryBuilder

Sets the preferred number of items on the results page. Values in the [1; 50] range are allowed.
Default value is 10.

Parameters

pageSize

Int32
Returns
public func setDirectoryFilter(
filter: DirectoryFilter
) -> SearchQueryBuilder

Sets filtering for the search query.

Parameters
public func setSortingType(
sortingType: SortingType
) -> SearchQueryBuilder

Sets sorting for the search query.

Parameters
public func build() -> SearchQuery

Forms a search query.

SearchResult

Result of the search engine work.

Extends: Hashable
public static func == (lhs: SearchResult, rhs: SearchResult) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func markerTitles(
objectIds: [DgisObjectId]
) -> [Future<[UIMarkerInfo]>]

Retrieves marker texts by their identifiers. Returns vector <future

Parameters

objectIds

Marker IDs.

Returns
Properties

var firstPage

First page of search results.

var representativeArea

Rectangular area suitable for displaying search results.

var itemMarkerInfos

Future<[ItemMarkerInfo]?>

Asynchronous marker retrieval.

var searchResultType

Type of search query.

var dynamicFilters

Dynamic filters for the given query.

var autoUseFirstResult

Indication that the first result is suitable for direct use.

SettlementRouteLongAttribute

Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. The action of the attribute starts at the given point and ends at the next point, starting from which the action of the attribute of the next element begins.

Extends: Hashable
public static func == (lhs: SettlementRouteLongAttribute, rhs: SettlementRouteLongAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entry(
point: RoutePoint
) -> SettlementRouteLongEntry?

Element in which the point falls.

Parameters
public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [SettlementRouteLongEntry]

Elements partially or completely covered by the [begin, end] segment.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

var last

var entries

SimpleClusterObject

Cluster of simple marker-objects.

Extends: MapObject
Methods
public func setIcon(
icon: Image?
)

Set the cluster icon.

Parameters

icon

Properties

var position

Getting the cluster position on the map.

var objectCount

Getting the number of markers in the cluster.

var objects

Getting the list of markers in the cluster.

var anchor

Obtaining and setting the anchor point of the cluster icon.

var iconOpacity

Obtaining and setting the transparency of the cluster icon.

var text

Obtaining and setting the cluster caption.

var textStyle

Obtaining and setting the cluster caption style.

var iconWidth

Obtaining and setting the target cluster width used for scaling.

var iconMapDirection

Obtaining and setting the angle of rotation of the cluster on the map relative to the north direction, clockwise.

var animatedAppearance

Obtaining and setting the cluster appearance animability flag.

var zIndex

Obtaining and setting the object rendering level.

SimpleMapObject

Object on the map, for which you can set the visibility.

Extends: MapObject
Properties

var isVisible

var zIndex

Obtains the drawing level of an object.

var levelId

Obtains the snap of an object to a floor in a building.

var bounds

Rectangle of minimum size containing geometry.

SimulationSettings

Route guidance simulation settings.

Extends: Hashable
public static func == (lhs: SimulationSettings, rhs: SimulationSettings) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var speedMode

Simulator mode of operation.

SoundNotificationSettings

Sound alert settings in the navigator. By default, all values of sound alert categories are enabled. You can change the values while using the navigator.

Extends: Hashable
public static func == (lhs: SoundNotificationSettings, rhs: SoundNotificationSettings) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var enabledSoundCategories

Set of flags for sound alerts.

Source

Source of data on the map.

Extends: Hashable
public static func == (lhs: Source, rhs: Source) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

StatefulChannel

Extends: Channel<Value>
Properties

var value

Value

StringRouteLongAttribute

Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. The action of the attribute starts at the given point and ends at the next point, starting from which the action of the attribute of the next element begins.

Extends: Hashable
public static func == (lhs: StringRouteLongAttribute, rhs: StringRouteLongAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entry(
point: RoutePoint
) -> StringRouteLongEntry?

Element in which the point falls.

Parameters
public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [StringRouteLongEntry]

Elements partially or completely covered by the [begin, end] the segment.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

First element.

var last

var entries

Style

Style with a set of map object properties (see ISource).

Extends: Hashable
public static func == (lhs: Style, rhs: Style) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var styleAttributes

Gets default properties for objects to which the given layer is applied.

StyleZoomFollowController

Controller for tracking the style zoom level of the map.

public convenience init(
map: Map
)

Creates a controller for tracking the style zoom level of the map.

Parameters

map

Methods
public func setStyleZoom(
styleZoom: StyleZoom
)

Sets a new value for the style zoom level.

Parameters

styleZoom

public func setStyleZoomRange(
minStyleZoom: StyleZoom,
maxStyleZoom: StyleZoom
)

Sets the range of acceptable values of the style zoom level.

Parameters

minStyleZoom

maxStyleZoom

public func setAnimationDuration(
duration: TimeInterval
)

Sets the new animation duration.

Parameters

duration

TimeInterval

Suggest

Search hint.

Extends: Hashable
public static func == (lhs: Suggest, rhs: Suggest) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var handler

Hint selection handler.

var suggestedType

Hint type.

var title

Hint title.

var subtitle

Hint subheading.

SuggestObjectHandler

Particular directory object is suggested.

Extends: Hashable
public static func == (lhs: SuggestObjectHandler, rhs: SuggestObjectHandler) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var item

Suggested object.

SuggestQuery

Search hint query.

Extends: Hashable
public static func == (lhs: SuggestQuery, rhs: SuggestQuery) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

SuggestQueryBuilder

Builder of queries to the suggestor.

Extends: Hashable
public static func == (lhs: SuggestQueryBuilder, rhs: SuggestQueryBuilder) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public static func fromQueryText(
queryText: String
) -> SuggestQueryBuilder

Starts building a hint query for a given text and area of interest.

Parameters
public static func fromQuery(
query: SuggestQuery
) -> SuggestQueryBuilder

Starts building a hint query based on the #query to change part of the parameters.
The original #query remains unchanged.

Parameters
public func setSpatialRestriction(
spatialRestriction: [GeoPoint]?
) -> SuggestQueryBuilder

Sets the search area limitation in the polygon form. The first and the last points of the polygon do not have to coincide.
By default, no limitation is set.

Parameters

spatialRestriction

Returns
public func setAreaOfInterest(
rect: GeoRect?
) -> SuggestQueryBuilder

Sets the rectangular region of interest in geographic coordinates. A typical value is visible_rect from ICamera - the enclosing rectangle of the view area.

Parameters
public func setAllowedResultTypes(
allowedResultTypes: [SuggestedType]
) -> SuggestQueryBuilder

Specifies the object types allowed as a result of the request.
By default, all types except Route are allowed.

Parameters

allowedResultTypes

Returns
public func setSuggestorType(
suggestorType: SuggestorType
) -> SuggestQueryBuilder

Sets the suggester type.
By default, #SuggestorType::General

Parameters
public func setLimit(
limit: Int32
) -> SuggestQueryBuilder

Sets the desired number of hints. Values from the range [1; 50] are allowed.
Default value is 10.

Parameters

limit

Int32
Returns
public func build() -> SuggestQuery

Builds a query to the suggestor.

SuggestResult

Result of the suggestor work.

Extends: Hashable
public static func == (lhs: SuggestResult, rhs: SuggestResult) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var suggests

Set of suggested hint alternatives.
The set is empty if no suitable hints are found.

SystemMemoryManager

Interface for managing the use of system memory.

Extends: Hashable
public static func == (lhs: SystemMemoryManager, rhs: SystemMemoryManager) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func reduceMemoryUsage()

Reducing memory usage by clearing all kinds of caches and buffers.

TerritoriesAlongRouteProvider

Interface for finding a route, taking into account traffic jam data.

Extends: Hashable
public static func == (lhs: TerritoriesAlongRouteProvider, rhs: TerritoriesAlongRouteProvider) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func getTerritories(
route: Route
) -> Future<[Territory]>

Returns the minimum required list of offline territories in route order.

Parameters

route

Territory

Territory. The data in 2GIS is split into some indivisible units called segments. For more convenient and flexible work with the data, not the segments themselves, but their sets, called territories, are used for updating. Sets of segments in two territories may overlap, including the possibility of one territory being completely nested in another.

Extends: Package

TerritoryManager

Interface to interact with the list of territories: Subscribe to changes in territory information; Search territories by coordinates and geometry; Subscribe to changes of information about the general progress of territory installation/upgrade; Pause and resume the process of territory installation/upgrade.

Extends: Hashable
public static func == (lhs: TerritoryManager, rhs: TerritoryManager) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func pause()

Suspends all running operations to install or update territories.

public func resume()

Resumes all suspended operations to install or update territories.

Properties

var territoriesChannel

StatefulChannel<[Territory]>

Channel with a list of all known territories. It is updated when information about at least one of the territories changes or when the composition of the list changes. The contents of the channel are a subset of the total list of packages obtained from IPackageManager::packages. To avoid unsynchronization of package descriptions, you should not use data obtained simultaneously from several channels containing subsets of a common list of packages.

var territories

Channel with a list of all known territories. It is updated when information about at least one of the territories changes or when the composition of the list changes. The contents of the channel are a subset of the total list of packages obtained from IPackageManager::packages. To avoid unsynchronization of package descriptions, you should not use data obtained simultaneously from several channels containing subsets of a common list of packages.

TiltFollowController

Controller tracking the map tilt angle.

public convenience init()

Creating a controller for tracking the tilt angle of the map.

Methods
public func setTilt(
tilt: Tilt
)

Setting new tilt value.

Parameters

tilt

public func setAnimationDuration(
duration: TimeInterval
)

Set new animation duration.

Parameters

duration

TimeInterval

Traffic

Description of traffic jam data.

Extends: Hashable
public static func == (lhs: Traffic, rhs: Traffic) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var durations

Movement durations on route segments. 0 - duration of movement on the route section is unknown.

var speedColors

Color representation of vehicle speeds on the route (extended attribute).

TrafficCollector

Interface for managing the traffic information collection service.
This interface is thread-safe.

Extends: Hashable
public static func == (lhs: TrafficCollector, rhs: TrafficCollector) -> Bool

Returns a Boolean value indicating whether two values are equal.

public convenience init(
context: Context
)

The function of creating a traffic information collection service. The service analyzes the state of traffic on the road on which the user is moving and sends the results of the analysis in an anonymized form to the server.

Parameters

context

Context - the environment required to run the SDK.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var trafficCollectingAllowed

Function for determining the allow/deny status of sending traffic information to the server.

TrafficControl

Extends: UIControl
Methods
public override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?)
Parameters

previousTraitCollection

public override func layoutSubviews()
public func switchTrafficVisibility()
Properties

var intrinsicContentSize

TrafficControlModel

Model of a traffic jam control.
This interface is thread-safe.

Extends: Hashable
public static func == (lhs: TrafficControlModel, rhs: TrafficControlModel) -> Bool

Returns a Boolean value indicating whether two values are equal.

public convenience init(
map: Map
)

Creates a model of a traffic jam control.

Parameters

map

Map.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func onClicked()

Action on the control click. Switches the visibility of traffic jams on the map.

Properties

var stateChannel

StatefulChannel<TrafficControlState>

The state of the traffic control.

var state

State of the traffic control.

TrafficRoute

Extends: Hashable
public static func == (lhs: TrafficRoute, rhs: TrafficRoute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public static func fromNavigationState(
navigationState: PackedNavigationState,
context: Context
) -> TrafficRoute

Creates a route from the deserialized navigation state with adding the contained objects to the road events database (it is necessary to display events on the route on the map when it is impossible to get events online).

Parameters

navigationState

context

Returns
Properties

var route

Route.

var traffic

Traffic data.

TrafficRouter

Interface for finding a route, taking into account traffic jam data.

Extends: Hashable
public static func == (lhs: TrafficRouter, rhs: TrafficRouter) -> Bool

Returns a Boolean value indicating whether two values are equal.

public convenience init(
context: Context
)
Parameters

context

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func findRoute(
startPoint: RouteSearchPoint,
finishPoint: RouteSearchPoint,
routeSearchOptions: RouteSearchOptions,
intermediatePoints: [RouteSearchPoint] = []
) -> Future<[TrafficRoute]>

Searches the route according to the specified parameters.

Parameters

startPoint

Starting point of route.

finishPoint

Finish point of the route.

routeSearchOptions

Route search parameters.

intermediatePoints

Intermediate points for a route in the same order as the points are set in the vector.

public func findBriefRouteInfos(
searchPoints: [BriefRouteInfoSearchPoints],
routeSearchOptions: RouteSearchOptions
) -> Future<[BriefRouteInfo?]>

Searches for basic route information for the corresponding set of search points.
If basic information for any of the point pairs is not found, the element with the corresponding index in the returned result will be set to nil.

Parameters

searchPoints

Searches a set of search points for basic route information.

routeSearchOptions

Returns
BriefRouteInfo<[?]>

Future with basic route set information, corresponding to a set of search points, or SimpleError exception in case of an error.

Properties

var truckPassZonePasses

Future<[TruckPassZonePass]>

Returns a list of all supported passes that allow truck traffic within the pass zones.

TrafficScoreProvider

Subscribes to updates on the traffic jam level.
This interface is thread-safe.

Extends: Hashable
public static func == (lhs: TrafficScoreProvider, rhs: TrafficScoreProvider) -> Bool

Returns a Boolean value indicating whether two values are equal.

public convenience init(
map: Map
)

Creates an object to track the level of traffic jams in the map visibility area.
The resulting object must be stored as long as the data needs to be updated.

Parameters

map

Map for which the visibility area will be tracked.

public convenience init(
context: Context,
point: GeoPoint
)

Creates an object to track the level of traffic jams for a given location.
The resulting object must be stored for as long as the data needs to be updated.

Parameters

context

Context - the environment required to run the SDK.

point

Geo-point for which you want to get the size of the traffic jams.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var scoreChannel

StatefulChannel<TrafficScore>

Current state and size of the traffic jams.

var score

Current state and size of the traffic jams.

TrafficSource

Interface of the class that controls the display of traffic jams on the map.

Extends: Source
public convenience init(
context: Context
)
Parameters

context

TrafficSpeedColorRouteLongAttribute

Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. The action of the attribute starts at the given point and ends at the next point, starting from which the action of the attribute of the next element begins.

Extends: Hashable
public static func == (lhs: TrafficSpeedColorRouteLongAttribute, rhs: TrafficSpeedColorRouteLongAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entry(
point: RoutePoint
) -> TrafficSpeedColorRouteLongEntry?

Element in which the point falls.

Parameters
public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [TrafficSpeedColorRouteLongEntry]

Elements partially or completely covered by the [begin, end] segment.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

var last

var entries

TransportTypeRouteLongAttribute

Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. The action of the attribute starts at the given point and ends at the next point, starting from which the action of the attribute of the next element begins.

Extends: Hashable
public static func == (lhs: TransportTypeRouteLongAttribute, rhs: TransportTypeRouteLongAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entry(
point: RoutePoint
) -> TransportTypeRouteLongEntry?

Element in which the point falls.

Parameters
public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [TransportTypeRouteLongEntry]

Elements partially or completely covered by the [begin, end] segment.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

var last

var entries

TruckPassZoneIdRouteLongAttribute

Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. The action of the attribute starts at the given point and ends at the next point, starting from which the action of the attribute of the next element begins.

Extends: Hashable
public static func == (lhs: TruckPassZoneIdRouteLongAttribute, rhs: TruckPassZoneIdRouteLongAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entry(
point: RoutePoint
) -> TruckPassZoneIdRouteLongEntry?

Element in which the point falls.

Parameters
public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [TruckPassZoneIdRouteLongEntry]

Elements partially or completely covered by the [begin, end] segment.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

var last

var entries

UIntRouteLongAttribute

Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. The action of the attribute starts at the given point and ends at the next point, starting from which the action of the attribute of the next element begins.

Extends: Hashable
public static func == (lhs: UIntRouteLongAttribute, rhs: UIntRouteLongAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entry(
point: RoutePoint
) -> UIntRouteLongEntry?

Element in which the point falls.

Parameters
public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [UIntRouteLongEntry]

Elements partially or completely covered by the [begin, end] segment.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

First element.

var last

Last element.

var entries

Voice

Voice package with the navigator voiceover.

Extends: Package
Methods
public func playWelcome()

Plays a voice sample.

Properties

var navigationVoice

Obtains a voice for use in the navigator.

var language

Voiceover language in ISO 639-1 format.

VoiceManager

Interface to interact with a list of navigator voice packages.

Extends: Hashable
public static func == (lhs: VoiceManager, rhs: VoiceManager) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var voicesChannel

StatefulChannel<[Voice]>

Channel with a list of all known voice packages. Updated if the information about at least one of the voices has changed, or if the composition of the list has changed. The contents of the channel are a subset of the general package list. To avoid descriptive package descriptions being out of sync, you should not use data from multiple channels that contain subsets of the total package list at the same time.

var voices

Channel with a list of all known voice packages. Updated if the information about at least one of the voices has changed, or if the composition of the list has changed. The contents of the channel are a subset of the general package list. To avoid descriptive package descriptions being out of sync, you should not use data from multiple channels that contain subsets of the total package list at the same time.

VoiceSelector

Manages voice packages in the current navigator session.

Extends: Hashable
public static func == (lhs: VoiceSelector, rhs: VoiceSelector) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var voice

Voice package with which voice alerts are played in the current navigator session.

VoidRouteAttribute

Container that describes a point attribute of a route. Each item is stored as a point on the route, in which the item is located, and the value of the item itself.

Extends: Hashable
public static func == (lhs: VoidRouteAttribute, rhs: VoidRouteAttribute) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func entries(
begin: RoutePoint,
end: RoutePoint
) -> [RoutePoint]

Elements that fall within the [begin, end) range.

Parameters
public func findNearBackward(
point: RoutePoint
) -> RoutePoint?

Finds the nearest element with position < = point.
The operation complexity is log2(N), where N = size.

Parameters
public func findNearForward(
point: RoutePoint
) -> RoutePoint?

Finds the nearest element with position > = point.
The operation complexity is log2(N), where N = size.

Parameters
Properties

var size

Number of elements.

var isEmpty

Elements missing.

var first

First element.

var last

Last element.

var entries

All elements.

ZoomControl

Map scale control unit.

Extends: UIControl
Methods
public override func layoutSubviews()
Properties

var buttonSpacing

Distance between the zoom buttons.

var intrinsicContentSize

ZoomControlModel

Model of the scale control. The control consists of +/- buttons, which, when pressed, change the map scale. When the permissible scale limit is reached, the button of scaling in this direction becomes inactive. The object methods must be called on a single thread.

Extends: Hashable
public static func == (lhs: ZoomControlModel, rhs: ZoomControlModel) -> Bool

Returns a Boolean value indicating whether two values are equal.

public convenience init(
map: Map
)
Parameters

map

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

public func isEnabled(
button: ZoomControlButton
) -> StatefulChannel<Bool>
Parameters

button

Returns
Bool<>
public func setPressed(
button: ZoomControlButton,
value: Bool
)
Parameters

ZoomFollowSettings

Interface that allows you to control the map zoom settings during guidance.

Extends: Hashable
public static func == (lhs: ZoomFollowSettings, rhs: ZoomFollowSettings) -> Bool

Returns a Boolean value indicating whether two values are equal.

Methods
public func hash(into hasher: inout Hasher)

Hashes the essential components of this value by passing them to the given hasher.

Parameters

hasher

Hasher

Hasher to use when combining the components of this instance.

Properties

var speedRangeToStyleZoomSequence

Sequence of speed intervals and corresponding scales. Used to automatically change the scale in the navigator depending on the speed.

var styleZoomSpeedRangesAnimationDuration

Duration of smooth scaling in the guidance mode when the speed changes and there are no maneuvers ahead/behind at a sufficiently close distance or on low-value roads.

var zoomInBeforeManeuverAnimationDuration

Duration of the smooth zoom level increase when approaching a maneuver. Used only if the speed is lower than in get_min_speed_to_consider_in_zoom_in_before_maneuver_animation.

var zoomOutAfterManeuverAnimationDuration

Duration of smooth zoom level decrease after passing the maneuver.

var minSpeedToConsiderInZoomInBeforeManeuverAnimation

Minimum speed in m/s at which the duration of smooth zoom level change is calculated based on not only the proximity to the maneuver, but also the current speed. It must be at least 0.1 m/s, values less than this are ignored.

var zoomInBeforeManeuverAnimationAcceleration

Acceleration coefficient of the zoom level increase animation when approaching the maneuver. Must be at least 1, values less than that will be ignored.

var distanceGapToManeuver

Distance to the maneuver, at reaching which the animation of the smooth zoom level increase must be completed, so that during the maneuver the zoom does not change. For example, if the maneuver is 300 m, then the animation with the smooth zoom level increase must be completed 50 m before the maneuver. Must be at least 1 m, values less than that will be ignored.

var minAnimationDuration

Minimum animation time. Used to prevent sudden changes in the zoom level during the animation. Must be at least 200, values less than that will be ignored.