class
ActivityTracker
val stopChannel
Active state of this flag indicates that the navigator needs to be stopped. If navigation stops in the Finished state, (the movement stops or its speed falls below the threshold) and this state persists for some time, the flag is set to true, otherwise it is set to false.
val stop
Active state of this flag indicates that the navigator needs to be stopped. If navigation stops in the Finished state, (the movement stops or its speed falls below the threshold) and this state persists for some time, the flag is set to true, otherwise it is set to false.
AddEventResult
Result of adding an event (event object or error).
fun match(event: Function1, error: Function1): T
fun toString(): String
fun hashCode(): Int
Address
Address as a set of separate components.
Address(
drillDown: List<AddressAdmDiv>,
components: List<AddressComponent>,
buildingName: String?,
postCode: String?,
buildingCode: String?,
fiasCode: String?,
addressComment: String?
)
Address as a set of separate components.
drillDown
components
buildingName
postCode
buildingCode
fiasCode
addressComment
val drillDown
Set of administrative division objects where the described object is located.
val components
Full address of an object may contain several separate address components.
val buildingName
Name of the building.
val postCode
ZIP code.
val buildingCode
Unique ZIP code of the building.
val fiasCode
FIAS code of the building.
val addressComment
Comment on the address. Example: "office 301; 9th floor"
AddressAdmDiv
Object of administrative division.
AddressComponent
Address component: street, house number, or verbal description of location.
fun match(
streetAddress: Function1,
number: Function1,
location: Function1
): T
fun toString(): String
fun hashCode(): Int
AddressLocation
Used for components that are difficult to describe with a specific address.
AddressLocation(comment: String)
Used for components that are difficult to describe with a specific address.
comment
AddressNumber
House number used as a full address. In some settlements, only the house number is indicated, without the street (for example, Krasnoobsk).
AddressStreet
Regular address with a street name and a building number.
AddRoadEventButton
Button for adding a road event.
AddRoadEventButton(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
)
Button for adding a road event.
fun attachToModel(model: AddRoadEventCardModel): Unit
AddRoadEventCard
Card for adding a road event.
AddRoadEventCard(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
)
Card for adding a road event.
fun attachToModel(model: AddRoadEventCardModel): Unit
AddRoadEventCardModel
Model of the card for adding a road event.
AddRoadEventCardModel(roadEventManager: RoadEventManager, map: Map)
Model of the card for adding a road event.
fun onEventTypeClicked(type: RoadEventType): Unit
Action that occurs when the event type selection control is clicked.
fun onLaneClicked(lane: Lane): Unit
Action that occurs when the lane selection control is clicked.
fun onDescriptionEntered(description: String): Unit
Action that occurs when entering description.
fun close(): Unit
val eventTypeChannel
Selected event type.
val lanesChannel
Selected lanes.
val canSelectLanesChannel
Whether it is possible to set lanes.
val descriptionChannel
Entered description.
val markerPositionChannel
Marker position on the screen.
val canSendChannel
Whether it is possible to send an event.
val resultChannel
Result of sending the event.
AddRoadEventControl
Base class for controls for adding road events.
AddRoadEventControl(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
)
Base class for controls for adding road events.
fun attachToModel(model: AddRoadEventCardModel): Unit
@CallSuper
fun detachFromModel(): Unit
fun onAttachedToWindow(): Unit
fun onDetachedFromWindow(): Unit
AddRoadEventControls
Set of controls for adding road events. Consists of a card with event parameters, a "Submit" button, and a marker indicating the location of adding an event on the map.
val cardHeightChannel
Height in pixels to which the card is expanded.
AddRoadEventMarker
Marker for adding a road event.
AddRoadEventMarker(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
)
Marker for adding a road event.
fun attachToModel(model: AddRoadEventCardModel): Unit
fun detachFromModel(): Unit
AlternativeRouteSelector
AlternativeRoutesProviderSettings
Settings of searching for alternative routes and a better route.
var alternativeRoutesEnabled
Flag to enable/disable suggesting alternative routes. By default, this option is enabled.
var betterRouteEnabled
Flag to enable/disable suggesting a better route. By default, this option 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 not less than 5 seconds. The default value is 20 seconds.
var betterRouteTimeCostThreshold
Minimum travel time difference between the original route and the alternative route for which the alternative route is considered a better route.
var betterRouteLengthThreshold
Minimum total length of route edges that differ between the original route and the alternative route at which the alternative route is considered a better route.
Anchor
Image anchor point. (0, 0) - upper-left corner, (1, 1) - lower-right corner.
ApartmentRange
Range of apartments.
val start
Beginning of the range/stored value. Currently, only numeric values are possible, while there are no apartments with suffixes in the data yet.
val end
End of the range. If absent, the range consists of a single start value. Otherwise, it is an arithmetic progression from start to end in increments of 1.
Attribute
Additional attribute. Example: { tag: "hotel_room_internet", name: "Free internet in rooms" }
Attributes
Interface for managing map object properties.
Only map objects have properties, but you can set default properties for the entire map, the style, and the source (see ISource for details).
fun setAttributeValue(name: String, value: AttributeValue): Unit
Sets a property.
fun setAttributeValues(values: Map, attributesToRemove: List<String> = listOf()): Unit
Sets a property set.
values
Set of the "name":"value" pairs for the added property.
attributesToRemove
List of names of properties to be removed.
fun removeAttribute(name: String): Unit
Deletes a property.
fun getAttributeValue(name: String): AttributeValue
Gets a property.
AttributeValue
Properties of map objects.
AttributeValue()
fun match(
empty: Function0<T>,
boolean: Function1,
number: Function1,
integer: Function1,
string: Function1,
data: Function1,
array: Function1,
item: Function1
): T
empty
boolean
number
integer
string
data
array
item
fun toString(): String
fun hashCode(): Int
AudioStreamReader
fun read(): List<Short>
Description of the callback function type that the audio driver calls to read audio data stream.
AuthorInfo
Information about the author of the event or the photo.
AuthorInfo(type: AuthorType, name: String)
Information about the author of the event or the photo.
AvailableCallback
BaseCamera
Camera.
Sets the parameters for projecting the map onto the screen.
fun changePosition(positionChange: CameraPositionChange): Unit
Changes only a part of the camera position parameters.
The call interrupts flyover and gesture processing, and also resets following of changed parameters, and when changing coordinates, also resets following the style zoom level and direction.
val projection
Projection.
Used to get a screen point from a map point and a map point from a screen point. Camera parameters are fixed at the time of the call.
val positionChannel
Gets the current camera position.
var position
Gets the current camera position.
val zoomRestrictionsChannel
Gets current zoom level limits.
var zoomRestrictions
Gets current zoom level limits.
val deviceDensityChannel
Gets the DPI ratio to the device's base DPI.
val deviceDensity
Gets the DPI ratio to the device's base DPI.
val sizeChannel
Gets the size of the viewing area.
var size
Gets the size of the viewing area.
val paddingChannel
Gets current paddings from the screen edges.
var padding
Gets current paddings from the screen edges.
val positionPointChannel
Point on the screen to which the camera position is attached. The point is set based on paddings.
var positionPoint
Point on the screen to which the camera position is attached. The point is set based on paddings.
val visibleArea
Area of intersection of the camera visibility pyramid and the surface of the map.
val visibleRectChannel
Rectangle indicating the visible area of the map.
val visibleRect
Rectangle indicating the visible area of the map.
val maxTiltRestrictionChannel
Gets the current function of the maximum camera tilt angle dependency on the style zoom level.
var maxTiltRestriction
Gets the current function of the maximum camera tilt angle dependency on the style zoom level.
Bearing
The angle between the directions of two objects or between the direction of the object and the north. The angle is measured clockwise. The range of values is 0°,360°.
BearingFollowController
Controller following the map bearing.
BearingFollowController(
bearingSource: BearingSource,
animationDuration: Duration = Duration.ofMilliseconds(1000),
valueThreshold: Bearing = Bearing(value = 1.0)
)
Creates a controller for following the map direction.
bearingSource
Source of information about direction.
animationDuration
Non-negative duration of change in real direction.
valueThreshold
Non-negative threshold value of considered change in real direction.
BetterRouteInfo
Information about an available alternative route.
BetterRoutePromptControl
Dialog prompting you to switch to a route with a lower expected arrival time.
val visibilityChannel
BicycleBriefRouteInfo
Basic information about the cycling route.
BicycleBriefRouteInfo(length: RouteDistance, landmark: String)
Basic information about the cycling route.
BicycleInstructionCrossroad
Description of maneuvers when passing through an intersection or a pedestrian crossing.
BicycleInstructionCrossroad(landmark: BicycleInstructionCrossroadLandmark = BicycleInstructionCrossroadLandmark.NONE, maneuvers: List<BicycleInstructionCrossroadManeuver>)
Description of maneuvers when passing through an intersection or a pedestrian crossing.
BicycleInstructionCrossroadManeuver
BicycleInstructionCrossroadManeuver(direction: BicycleInstructionCrossroadManeuverDirection = BicycleInstructionCrossroadManeuverDirection.STRAIGHT, turnAngle: Int = 0)
BicycleInstructionFinish
End of the cycling part of the route.
BicycleInstructionFinish()
End of the cycling part of the route.
BicycleInstructionStart
Beginning of the cycling part of the route.
BicycleInstructionStart()
Beginning of the cycling part of the route.
BicycleRouteSearchOptions
Bicycle route search options.
BicycleRouteSearchOptions(
avoidCarRoads: Boolean = false,
avoidStairways: Boolean = false,
avoidUnderpassesAndOverpasses: Boolean = false,
excludedAreas: List<ExcludedArea> = listOf()
)
Bicycle route search options.
avoidCarRoads
avoidStairways
avoidUnderpassesAndOverpasses
excludedAreas
BoolRouteLongAttribute
A container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. Attribute action starts at this point and ends at the next point, at which the next element's attribute action begins.
fun entry(point: RoutePoint): BoolRouteLongEntry?
Element that the specified point falls into.
fun entries(begin: RoutePoint, end: RoutePoint): List<BoolRouteLongEntry>
Elements partially or completely covered by the begin,end segment.
BoolRouteLongEntry
Extended route element - segment and value on it.
BoolRouteLongEntry(
point: RoutePoint,
length: RouteDistance,
value: Boolean
)
Extended route element - segment and value on it.
Borders
val snapping
Sets the pull to a value that is a multiple of this number.
val isLg
Indication of using a logarithmic scale.
val value
Value by which the filtering occurs.
val min
Lower bound of the set of values.
val max
Upper bound of the set of values.
val currentMin
Currently set minimum value.
val currentMax
Currently set maximum value.
BriefExtraRouteInfo
Additional information about the route for a specific type of transport.
BriefExtraRouteInfo(pedestrian: PedestrianBriefRouteInfo)
pedestrian
BriefExtraRouteInfo(publicTransport: PublicBriefRouteInfo)
publicTransport
fun match(
bicycle: Function1,
car: Function1,
pedestrian: Function1,
publicTransport: Function1,
scooter: Function1
): T
bicycle
car
pedestrian
publicTransport
scooter
fun toString(): String
fun hashCode(): Int
BriefPublicTransportCard
Card that displays brief information about a public transport route. Unlike a PublicTransportCard, it does not contain information about transfers.
BriefPublicTransportCard(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
)
Card that displays brief information about a public transport route. Unlike a PublicTransportCard, it does not contain information about transfers.
fun onAttachedToWindow(): Unit
var model
BriefPublicTransportCardModel
Model for BriefPublicTransportCard.
BriefPublicTransportCardModel(route: TrafficRoute, context: Context)
Model for BriefPublicTransportCard.
val title
Title. Estimated travel time, for example, "1 hour 42 minutes".
val transports
Transport information.
val description
Description. Number of transfers and walking time, e.g. 1transfer,15min walk.
BriefRoadEvent
BriefRouteInfo
Basic route information.
BriefRouteInfo(duration: Duration, extraInfo: BriefExtraRouteInfo)
Basic route information.
BriefRouteInfoSearchPoints
Points used to request searching for the basic route information.
BriefRouteInfoSearchPoints(startPoint: RouteSearchPoint, finishPoint: RouteSearchPoint)
Points used to request searching for the basic route information.
BuildingId
BuildingInfo
Information about building.
BuildingInfo(
buildingName: String? = null,
purposeName: String? = null,
purposeCode: PurposeCode? = null,
buildingLevels: BuildingLevels? = null
)
Information about building.
BuildingLevels
Information about the floor plans of the building.
BuildingLevels(defaultLevelId: LevelId, levels: List<LevelInfo>)
Information about the floor plans of the building.
CalloutMapPosition
Route callout position.
CalloutMapPosition(
mapId: MapId,
calloutPosition: GeoPoint?,
routePoint: RoutePoint?
)
Route callout position.
Camera
Camera to start moving the map and adjust tracking.
fun move(moveController: CameraMoveController): Future<CameraAnimatedMoveResult>
moveController
Animated camera movement controller.
fun move(
position: CameraPosition,
time: Duration = Duration.ofMilliseconds(300),
animationType: CameraAnimationType = CameraAnimationType.DEFAULT
): Future<CameraAnimatedMoveResult>
position
Final camera position.
time
Time allotted for moving the map
animationType
Camera animation type.
fun move(
point: GeoPoint,
zoom: Zoom,
tilt: Tilt?,
bearing: Bearing,
time: Duration = Duration.ofMilliseconds(300),
animationType: CameraAnimationType = CameraAnimationType.DEFAULT
): Future<CameraAnimatedMoveResult>
Starts the animated map movement using the built-in map movement controller.
Resets the current map tracking mode and interrupts gesture processing.
point
Point of the final camera position.
zoom
Zoom level in the final camera position.
tilt
Tilt in the final camera poition or an empty value if it is necessary to use the value from the follow controller or the current one depending on the active following mode.
bearing
Bearing in the final camera position.
time
Time allotted for moving the map
animationType
Camera animation type.
fun processMovementAndStop(): Unit
Sets the camera position according to the current time and stops animated movement.
Calling the method interrupts the flyover and gesture processing, and also resets the tracking mode.
fun addFollowController(followController: FollowController): Unit
Adds a tracking controller.
There can be several different ones, for example, a controller for tracking the scale, map tilt, geolocation, etc.
fun removeFollowController(followController: FollowController): Unit
Removes the tracking controller.
fun setCustomFollowController(followController: CustomFollowController): Unit
Adds a tracking controller implemented on the platform.
Only one such controller can be installed. If you install multiple controllers, only the last one installed is used.
fun removeCustomFollowController(): Unit
Removes the tracking controller implemented on the platform.
CameraBehaviour
Camera tracking mode.
Camera modes are degraded according to the following rules:
- Map shift sets to None the following events: DirectMapShiftEvent, MapShiftBeginEvent, DirectMapRotationEvent with the specified event center, DirectMapScalingEvent with the specified event center, ScaleMapEvent with the specified event center
- Rotation of the map relative to the position point blocks the publication of Bearing events: MapRotationBeginEvent, RotateMapToNorthEvent, DirectMapRotationEvent without event center
- Changing the scale relative to the position point blocks the publication of StyleZoom events: MapScalingBeginEvent, DirectMapScalingEvent without event center, ScaleMapEvent without event center
- Tilt locks the publication of Tilt events: DirectMapTiltEvent
CameraBehaviour(position: FollowPosition?, tilt: FollowTilt = FollowTilt.OFF)
Camera tracking mode.
Camera modes are degraded according to the following rules:
- Map shift sets to None the following events: DirectMapShiftEvent, MapShiftBeginEvent, DirectMapRotationEvent with the specified event center, DirectMapScalingEvent with the specified event center, ScaleMapEvent with the specified event center
- Rotation of the map relative to the position point blocks the publication of Bearing events: MapRotationBeginEvent, RotateMapToNorthEvent, DirectMapRotationEvent without event center
- Changing the scale relative to the position point blocks the publication of StyleZoom events: MapScalingBeginEvent, DirectMapScalingEvent without event center, ScaleMapEvent without event center
- Tilt locks the publication of Tilt events: DirectMapTiltEvent
CameraBehaviourChange
Change tracking mode.
CameraBehaviourChange(newBehaviour: CameraBehaviour, changeReason: CameraBehaviourChangeReason)
Change tracking mode.
CameraNotifier
Warns you when you enter the traffic camera coverage area.
CameraPosition
Camera position.
val point
Map point corresponding to the camera position (see ICamera::position_point()).
val zoom
Zoom level. 0 is the entire world inscribed in a square of 256x256 logical pixels (see LogicalPixel).
val tilt
Tilt angle of the direction of vertical view.
0 - nadir (look vertically down), the maximum value is 60 degrees.
val bearing
Rotation angle of the direction of horizontal view relative to the north direction. Counted clockwise, in degrees.
CameraPositionChange
Description of changing some of the camera position parameters.
CameraPositionPoint
Relative screen position of the point to which the camera is attached.
Screen area is set by paddings. x - offset from the left edge of the screen area, y - offset from the top edge. Allowed range of padding values: (0.0f, 1.0f) 0,0 - the upper-left corner of the screen area, 1,1 - the lower-right corner.
CameraPositionPoint(x: Float = 0.5f, y: Float = 0.5f)
Relative screen position of the point to which the camera is attached.
Screen area is set by paddings. x - offset from the left edge of the screen area, y - offset from the top edge. Allowed range of padding values: (0.0f, 1.0f) 0,0 - the upper-left corner of the screen area, 1,1 - the lower-right corner.
CameraProgressInfo
Information about the progress of passing the camera zone.
CameraRouteAttribute
Container that describes a point attribute of a route. Each element is stored as a point on the route (at which the element is located) and the value of the element itself.
fun entries(begin: RoutePoint, end: RoutePoint): List<CameraRouteEntry>
Elements falling within the [begin, end) range.
fun findNearBackward(point: RoutePoint): CameraRouteEntry?
Finds the nearest element, the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
fun findNearForward(point: RoutePoint): CameraRouteEntry?
Finds the nearest element, the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
CameraRouteEntry
Route element - point and value in it.
CameraRouteEntry(point: RoutePoint, value: RouteCamera)
Route element - point and value in it.
CameraZoomRestrictions
Acceptable zoom range.
CancelEvent
Event of canceling the current action.
For example, can be called when a gesture is canceled, the window focus is lost, or when the mouse capture is lost. It can also be called from within the map when changing the zoom level restrictions, applying changes to the tracking mode, and setting the interactive mode of the map.
CancelEvent()
CarBriefRouteInfo
Basic car route information.
CarBriefRouteInfo(
length: RouteDistance,
landmark: String,
trafficSpeed: CarBriefRouteInfoTrafficSpeed
)
Basic car route information.
CarInstructionCrossroad
Description of maneuvers at the crossroads.
CarInstructionCrossroad(
direction: CarInstructionCrossroadDirection = CarInstructionCrossroadDirection.STRAIGHT,
turnAngle: Int = 0,
landmark: CarInstructionCrossroadLandmark = CarInstructionCrossroadLandmark.NONE,
exitName: String
)
Description of maneuvers at the crossroads.
direction
turnAngle
landmark
exitName
CarInstructionFinish
End of the car section of the route.
CarInstructionFinish()
End of the car section of the route.
CarInstructionRoundabout
Description of maneuvers at a roundabout.
CarInstructionRoundabout(
type: CarInstructionRoundaboutType = CarInstructionRoundaboutType.ENTRY,
turnAngle: Int = 0,
exitNumber: Int = 0,
exitName: String
)
Description of maneuvers at a roundabout.
CarInstructionStart
Beginning of the car section of the route.
CarInstructionStart()
Beginning of the car section of the route.
CarInstructionUTurn
U-turn on the road (not at the intersection).
U-turn at the intersection is described by the Crossroad instruction.
CarInstructionUTurn(exitName: String)
U-turn on the road (not at the intersection).
U-turn at the intersection is described by the Crossroad instruction.
exitName
CarRouteSearchOptions
Parameters for finding a car route.
CarRouteSearchOptions(
avoidTollRoads: Boolean = false,
avoidUnpavedRoads: Boolean = false,
avoidFerries: Boolean = true,
avoidLockedRoads: Boolean = true,
routeSearchType: RouteSearchType = RouteSearchType.JAM,
excludedAreas: List<ExcludedArea> = listOf()
)
Parameters for finding a car route.
avoidTollRoads
avoidUnpavedRoads
avoidFerries
avoidLockedRoads
routeSearchType
excludedAreas
val avoidTollRoads
Avoid toll roads.
val avoidUnpavedRoads
Avoid dirt roads.
val avoidFerries
Avoid ferries.
val avoidLockedRoads
Avoid closed roads. When set to true, the route search does not take into account road sections that are closed to traffic. If set to false, the route can be built through blocked sections of roads if it is impossible to build a route without passing through blocked sections.
val routeSearchType
Route search type.
val excludedAreas
Excluded areas (not more than 25).
Certificate
SSL certificate.
fun match(
system: Function1,
fromFile: Function1,
fromAsset: Function1
): T
system
fromFile
fromAsset
fun toString(): String
fun hashCode(): Int
CertificateFromAsset
SSL certificate from the Android asset.
CertificateFromFile
SSL certificate from a file.
CheckableGroupedItem
Single element from GroupCheckableItem.
CheckableItem
Base representation of a checkable item from a CheckableItemsGroup.
CheckableItemsGroup
Widget for representing a group of checked items.
val items
Gets a group of widget elements.
Checkbox
Checkbox widget.
val filterType
Gets the filter type that the widget represents.
val checkedText
Gets the signature text for a “checked” checkbox.
val uncheckedText
Gets the signature text for a “non-checked” checkbox.
val values
Gets a list of values by which filtering occurs. Usually one value.
var isChecked
Gets the state of the widget.
Circle
CircleOptions
Parameters for creating a geometric map object of the "Circle" type.
CircleOptions(
position: GeoPoint,
radius: Meter,
color: Color = Color(),
strokeWidth: LogicalPixel = LogicalPixel(value = 0.0f),
strokeColor: Color = Color(),
dashedStrokeOptions: DashedStrokeCircleOptions? = null,
visible: Boolean = true,
userData: Any? = null,
zIndex: ZIndex = ZIndex(value = 0),
levelId: LevelId? = null
)
Parameters for creating a geometric map object of the "Circle" type.
position
radius
color
strokeWidth
strokeColor
dashedStrokeOptions
visible
userData
zIndex
levelId
val position
Geographical position.
val radius
Radius in meters.
val color
Fill color.
val strokeWidth
Width of the circle outline.
val strokeColor
Line color of the circle outline.
val dashedStrokeOptions
val visible
Visibility flag.
val userData
User data (not used inside the SDK, only needed for API users).
val zIndex
Object rendering level.
val levelId
Link to the floor plan of the building.
ClusterObject
Cluster of objects.
ClusterOptions
Cluster marker settings.
Color
Color
CompassControl
CompassControl
Compass control.
CompassControl(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0,
layout: Int = R.layout.dgis_compass_control
)
Compass control.
CompassControlModel
Compass control model. The control consists of a compass button. When the button is pressed, the map camera changes the angle in the north direction. If the map camera faces the north, the control must be hidden. Thread-safe.
fun onClicked(): Unit
ComplexGeometry
Compound geometry consisting of a set of simple or compound geometries.
An arbitrary level of nesting of compound geometries in a set is supported.
val elements
ContactInfo
Way to contact the organization.
val type
Type of the contact. One of the following:
- website
- phone
- fax
- pobox - P.O. box
- icq
- jabber
- skype
- vkontakte
- odnoklassniki
- youtube
- googleplus
- viber
- telegram
val displayText
Contact value to display.
val value
Technical value of the contact. Depending on the contact type, it has the following semantics:
- email - email address
- website - full URL
- phone - phone number in international format, for example: "+73831234567"
- fax - phone number in international format, for example: "+73831234567"
- pobox - mailing address
- icq - user ID
- jabber - user ID
- skype - user ID
- vkontakte - full URL
- twitter - full URL
- odnoklassniki - full URL
- youtube - full URL
- linkedin - full URL
- googleplus - full URL
- pinterest - full URL
- whatsapp - full URL
- viber - full URL
- telegram - full URL
val comment
Clarifying information about the contact.
Context
Context - the environment required for the SDK to work.
CoordinatesFollowController
Controller for following the coordinates of the map position.
CoordinatesFollowController(animationDuration: Duration = Duration.ofMilliseconds(1000), valueThreshold: Meter = Meter(value = 0.1f))
Creates a controller for following the coordinates of the map position.
DashboardControl
DashedPolylineOptions
Dashed polyline options.
DashedPolylineOptions(dashLength: LogicalPixel = LogicalPixel(value = 5.0f), dashSpaceLength: LogicalPixel = LogicalPixel(value = 2.0f))
Dashed polyline options.
DashedStrokeCircleOptions
DashedStrokeCircleOptions(dashLength: LogicalPixel = LogicalPixel(value = 5.0f), dashSpaceLength: LogicalPixel = LogicalPixel(value = 2.0f))
DayTime
Time moment within a day.
DefaultLocationSource
Implementation of the default location source (recommended for use). If available, GMS is used, otherwise - LocationManager.
DefaultLocationSource(context: Context)
Implementation of the default location source (recommended for use). If available, GMS is used, otherwise - LocationManager.
context
@Synchronized
fun activate(listener: LocationChangeListener): Unit
@Synchronized
fun deactivate(): Unit
@Synchronized
fun setDesiredAccuracy(accuracy: DesiredAccuracy): Unit
fun onPermissionGranted(): Unit
The method must be called after receiving permissions to use the location.
@Synchronized
fun onProvidersChanged(): Unit
DefaultNavigationControls
Navigator UI controls suggested for default use: lane information, speed limit, indication of the next maneuver, etc. SDK users can also create their own UI controls and use the navigator UI model to get event notifications while navigating a route.
DeviceDensity
Multiplier calculated as the ratio of DPI to the base DPI of the device.
For Android, it corresponds to resources.displayMetrics.density. For iOS, it corresponds to nativeScale.
Must be positive.
DeviceDensity(value: Float = 0.0f)
Multiplier calculated as the ratio of DPI to the base DPI of the device.
For Android, it corresponds to resources.displayMetrics.density. For iOS, it corresponds to nativeScale.
Must be positive.
value
DevicePpi
Device display resolution, in pixels per inch.
Must be positive.
DevicePpi(value: Float = 0.0f)
Device display resolution, in pixels per inch.
Must be positive.
value
DGis
Entry point to the 2GIS SDK. At the start of work, you must call initialize.
@JvmStatic
@JvmOverloads
fun initialize(
appContext: Context,
httpOptions: HttpOptions = HttpOptions(),
logOptions: LogOptions = LogOptions(LogLevel.WARNING),
vendorConfig: VendorConfig = VendorConfig(),
keySource: KeySource = KeySource(KeyFromAsset("dgissdk.key")),
dataCollectConsent: PersonalDataCollectionConsent = PersonalDataCollectionConsent.GRANTED,
platformHttpClient: HttpClient? = null,
mapOptions: GlobalMapOptions = GlobalMapOptions()
): Context
You must call this method before working with the SDK.
appContext
Android application context.
httpOptions
Network client settings.
logOptions
Logging parameters.
vendorConfig
Overrides the SDK configuration.
keySource
Key source.
dataCollectConsent
Consent to data collection and data processing.
platformHttpClient
Network client to be used instead of the standard one.
mapOptions
Settings applied to all maps.
sdkContext required for SDK services to work.
@JvmStatic
fun initialize(
appContext: Context,
httpOptions: HttpOptions = HttpOptions(),
logOptions: LogOptions = LogOptions(LogLevel.WARNING),
vendorConfig: VendorConfig = VendorConfig(),
keySource: KeySource = KeySource(KeyFromAsset("dgissdk.key")),
dataCollectConsent: PersonalDataCollectionConsent = PersonalDataCollectionConsent.GRANTED,
platformHttpClient: HttpClient? = null,
platformAudioDriver: AudioDriver? = null,
mapOptions: GlobalMapOptions = GlobalMapOptions()
): Context
You must call this method before working with the SDK.
appContext
Android application context.
httpOptions
Network client settings.
logOptions
Logging parameters.
vendorConfig
Overrides the SDK configuration.
keySource
Key source.
dataCollectConsent
Consent to data collection and data processing.
platformHttpClient
Network client to be used instead of the standard one.
platformAudioDriver
Platform audio driver.
mapOptions
Settings applied to all maps.
sdkContext required for SDK services to work.
@JvmStatic
fun context(): Context
DgisMapObject
2GIS map object.
Information about the object can be obtained via directory.
val id
Stable numeric object identifier.
DgisObjectId
DgisSource
Main interface of 2GIS data sources.
fun setHighlighted(directoryObjectIds: List<DgisObjectId>, highlighted: Boolean): Unit
Sets or removes the highlight of objects.
Adds a "selected" attribute to an object, which can be used in styles.
directoryObjectIds
Identifiers of modifiable objects.
highlighted
Sets or removes the highlight.
@JvmStatic
fun createDgisSource(context: Context, workingMode: DgisSourceWorkingMode = DgisSourceWorkingMode.ONLINE): Source
Creats a source that retrieves data from 2GIS servers or uses pre-loaded data in operation.
DirectMapControlBeginEvent
Event of starting the direct map control. Tells the map to handle direct map control events. Direct control events only work from DirectMapControlBeginEvent to DirectMapControlEndEvent. After the direct control event sequence has ended, kinematics may start. Kinematics uses the time the event occurred, so using the time received from the system is better than filling in the value during processing. Kinematics works only for moving the map, not for rotation and scaling.
DirectMapControlBeginEvent()
DirectMapControlEndEvent
Event of ending the direct map control. Ends the direct map control started after getting the DirectMapControlBeginEvent. Direct map control events are described in DirectMapControlBeginEvent.
DirectMapRotationEvent
Event of the direct map rotation. Direct map control events are described in DirectMapControlBeginEvent.
DirectMapRotationEvent(
bearingDelta: Bearing,
timestamp: Duration,
rotationCenter: ScreenPoint? = null
)
bearingDelta
Changes the angle of the map rotation, in degrees. Positive values correspond to the direction of counter-clockwise rotation.
timestamp
Time of the system event generation.
rotationCenter
Point on the screen around which the map rotates. If no point is specified, the rotation is done relatively to the map position point.
DirectMapScalingEvent
Event of direct map scaling. Direct map control events are described in DirectMapControlBeginEvent.
DirectMapScalingEvent(
zoomDelta: Float,
timestamp: Duration,
scalingCenter: ScreenPoint? = null
)
zoomDelta
Amount by which the current zoom value changes.
timestamp
Time of the system event generation.
scalingCenter
Point on the screen around which the map is scaled. If no point is given, scaling is done relatively to the map position point.
DirectMapShiftEvent
Direct map shift event. Direct map control events are described in DirectMapControlBeginEvent.
DirectMapShiftEvent(
screenShift: ScreenShift,
shiftedPoint: ScreenPoint,
timestamp: Duration
)
screenShift
Change of the screen position of the map relative to the previous one, in pixels.
shiftedPoint
Center point from which the map is shifted.
timestamp
Time of the system event generation.
DirectMapTiltEvent
Direct camera tilt event. Direct map control events are described in DirectMapControlBeginEvent.
DirectoryFilter
Filters for the directory.
DirectoryFilter(workTime: WorkTimeFilter?, dynamic: List<DynamicFilter>)
Filters for the directory.
DirectoryObject
Directory object.
fun formattedAddress(type: FormattingType): FormattedAddress?
String representation of the address formatted according to the specified length requirement.
val types
Object type. There can be several ones, for example, Sun City shopping center is a branch of the organization and a building at the same time. The first type in this list is the main one.
val title
Object title.
val titleAddition
Additional information for the title. Example: "(apt. 1-12)"
val subtitle
Object subtitle.
Can be an empty string if the value is missing.
val description
Object description.
val id
Stable numeric object identifier.
val markerPosition
Feature point where the marker should be placed.
val address
Object address as a set of components.
val attributes
Additional object attributes.
val contextAttributes
Contextual additional object attributes.
val timeZoneOffset
Shift of the object's local time relative to UTC in seconds at the current moment.
val openingHours
Object opening hours.
val contactInfos
Object contacts.
val reviews
Reviews.
val parkingInfo
Additional information about parking.
val workStatus
Work status.
val levelId
ID of the floor where the object is located.
val buildingLevels
Information about the floor plans of the building.
val entrances
Information about the entrances.
val tradeLicense
Information about the organization license.
val buildingInfo
Information about building.
DoubleRouteAttribute
Container that describes a point attribute of a route. Each element is stored as the point on the route at which the element is located and the value of the element itself.
fun entries(begin: RoutePoint, end: RoutePoint): List<DoubleRouteEntry>
Elements falling within the [begin, end) range.
fun findNearBackward(point: RoutePoint): DoubleRouteEntry?
Finds the nearest element the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
fun findNearForward(point: RoutePoint): DoubleRouteEntry?
Finds the nearest element the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
DoubleRouteEntry
Route element - point and value in it.
DoubleRouteEntry(point: RoutePoint, value: Double)
Route element - point and value in it.
DragBeginData
Data on the beginning of dragging: drag start point and an object being dragged.
DragBeginData(point: ScreenPoint, item: RenderedObject)
Data on the beginning of dragging: drag start point and an object being dragged.
Duration
Class representing a period of time.
operator fun unaryMinus(): Duration
fun toString(): String
DynamicFilter
Dynamic filters for search results.
fun match(
flagFilter: Function1,
rangeFilter: Function1,
sortingFilter: Function1
): T
fun toString(): String
fun hashCode(): Int
DynamicRouteInfo
DynamicRouteInfoSettings
Settings for receiving dynamic route data.
Elevation
Non-negative elevation of the point above the surface in meters.
Elevation(value: Float = 0.0f)
Non-negative elevation of the point above the surface in meters.
value
EmptyFollowController
Base class for custom controllers. Can be used as the basis for implementing a controller on a platform.
EmptyFollowController()
Base class for custom controllers. Can be used as the basis for implementing a controller on a platform.
fun availableValues(): EnumSet<FollowValue>
St of value types that this controller can manage.
fun requestValues(values: EnumSet<FollowValue>): Unit
Tells the controller which values it provides are in use. This frees up resources associated with calculating unused values. The method can be called multiple times with different values, in which case the last one is considered relevant.
fun setNewValuesNotifier(notifier: NewValuesNotifier?): Unit
Installs a notifier that notifies about new values. The notifier must be stored in the implemented controller
fun bearing(): Bearing?
Bearing. Method is called only after calling request_values with appropriate parameters.
EntranceGeometry
Geometry for displaying the entrance on the map.
EntranceGeometry(entrancePoints: List<GeoPoint>, entrancePolylines: List<List<GeoPoint>>)
Geometry for displaying the entrance on the map.
EntranceInfo
Information about the entrance to the building.
EntranceInfo(
id: DgisObjectId,
buildingNumber: String?,
porchName: String?,
porchNumber: String?,
apartmentRanges: List<ApartmentRange>,
geometry: EntranceGeometry?
)
Information about the entrance to the building.
id
buildingNumber
porchName
porchNumber
apartmentRanges
geometry
val id
Identifier of the entrance object.
val buildingNumber
Number of the house to which the entrance belongs.
val porchName
Non-empty entrance name. Filled only for porches (entrances in residential buildings). Can take the values of the entrance name (eg "Entrance 1") or the building number if the entrance has its own address.
val porchNumber
Non-empty entrance number. Filled only for porches (entrances in residential buildings). Can take values of the entrance number (eg "1") or the building number if the entrance has its own address.
val apartmentRanges
Numbers of apartments related to the entrance.
val geometry
Geometry for displaying the entrance on the map.
Event
Base class for all handled events.
EventsProcessingSettings
EventsProcessingSettings(rotationCenter: RotationCenter, scalingCenter: ScalingCenter)
ExceedSpeedLimitSettings
Settings for detection of exceeding the maximum allowed speed limit.
ExcludedArea
Excluded area to be avoided when building a route.
ExcludedArea(
type: ExcludedAreaType = ExcludedAreaType.POINT,
severity: ExcludedAreaSeverity = ExcludedAreaSeverity.SOFT,
extent: RouteDistance,
points: List<GeoPoint>
)
Excluded area to be avoided when building a route.
ExtraInstructionInfo
ExtraInstructionInfo(bicycleStart: BicycleInstructionStart)
bicycleStart
ExtraInstructionInfo(bicycleFinish: BicycleInstructionFinish)
bicycleFinish
ExtraInstructionInfo(bicycleCrossroad: BicycleInstructionCrossroad)
bicycleCrossroad
ExtraInstructionInfo(carCrossroad: CarInstructionCrossroad)
carCrossroad
ExtraInstructionInfo(carRoundabout: CarInstructionRoundabout)
carRoundabout
ExtraInstructionInfo(pedestrianStart: PedestrianInstructionStart)
pedestrianStart
ExtraInstructionInfo(pedestrianFinish: PedestrianInstructionFinish)
pedestrianFinish
ExtraInstructionInfo(pedestrianCrossroad: PedestrianInstructionCrossroad)
pedestrianCrossroad
ExtraInstructionInfo(pedestrianIndoorFloorChange: PedestrianInstructionIndoorFloorChange)
pedestrianIndoorFloorChange
ExtraInstructionInfo(pedestrianIndoorEnter: PedestrianInstructionIndoorEnter)
pedestrianIndoorEnter
ExtraInstructionInfo(pedestrianIndoorExit: PedestrianInstructionIndoorExit)
pedestrianIndoorExit
ExtraInstructionInfo(scooterStart: ScooterInstructionStart)
scooterStart
ExtraInstructionInfo(scooterFinish: ScooterInstructionFinish)
scooterFinish
ExtraInstructionInfo(scooterCrossroad: ScooterInstructionCrossroad)
scooterCrossroad
fun match(
bicycleStart: Function1,
bicycleFinish: Function1,
bicycleCrossroad: Function1,
carStart: Function1,
carFinish: Function1,
carCrossroad: Function1,
carRoundabout: Function1,
carUturn: Function1,
pedestrianStart: Function1,
pedestrianFinish: Function1,
pedestrianCrossroad: Function1,
pedestrianIndoorFloorChange: Function1,
pedestrianIndoorEnter: Function1,
pedestrianIndoorExit: Function1,
scooterStart: Function1,
scooterFinish: Function1,
scooterCrossroad: Function1
): T
bicycleStart
bicycleFinish
bicycleCrossroad
carStart
carFinish
carCrossroad
carRoundabout
carUturn
pedestrianStart
pedestrianFinish
pedestrianCrossroad
pedestrianIndoorFloorChange
pedestrianIndoorEnter
pedestrianIndoorExit
scooterStart
scooterFinish
scooterCrossroad
fun toString(): String
fun hashCode(): Int
val isBicycleStart
val asBicycleStart
val isBicycleFinish
val asBicycleFinish
val isBicycleCrossroad
val asBicycleCrossroad
val isCarStart
val asCarStart
val isCarFinish
val asCarFinish
val isCarCrossroad
val asCarCrossroad
val isCarRoundabout
val asCarRoundabout
val isCarUturn
val asCarUturn
val isPedestrianStart
val asPedestrianStart
val isPedestrianFinish
val asPedestrianFinish
val isPedestrianCrossroad
val asPedestrianCrossroad
val isPedestrianIndoorFloorChange
val asPedestrianIndoorFloorChange
val isPedestrianIndoorEnter
val asPedestrianIndoorEnter
val isPedestrianIndoorExit
val asPedestrianIndoorExit
val isScooterStart
val asScooterStart
val isScooterFinish
val asScooterFinish
val isScooterCrossroad
val asScooterCrossroad
val value
File
File identifier.
Can be not only a file in the file system, but also an arbitrary data source.
@JvmStatic
fun fromString(contents: String): File
File with contents from the given string.
FinishRouteControl
FlagFilter
Filter of the flag type.
FloatRouteLongAttribute
Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. Attribute action starts at this point and ends at the next point, at which the next element's attribute action begins.
fun entry(point: RoutePoint): FloatRouteLongEntry?
Element that the specified point falls into.
fun entries(begin: RoutePoint, end: RoutePoint): List<FloatRouteLongEntry>
Elements partially or completely covered by the begin,end segment.
FloatRouteLongEntry
Extended route element - segment and value on it.
FloatRouteLongEntry(
point: RoutePoint,
length: RouteDistance,
value: Float
)
Extended route element - segment and value on it.
FloorInfo
Information about the floor plan for the marker - an element of search results.
FloorInfo(levelId: LevelId, buildingId: BuildingId)
Information about the floor plan for the marker - an element of search results.
FollowControl
FollowController
Class that allows you to manage the camera position and the geolocation marker. All of its methods' implementations must be thread-safe. Most methods have trivial default implementations available (thus the FollowController responsible for scaling is not required to override coordinates() and similar methods).
FollowPosition
Settings for following the direction, tilt, and zoom level.
FollowPosition(bearing: FollowBearing = FollowBearing.OFF, styleZoom: FollowStyleZoom = FollowStyleZoom.OFF)
Settings for following the direction, tilt, and zoom level.
FormattedAddress
Human-readable representation of the address.
val drilldownAddress
Address from the drilldown. Example: "Novosibirsk, Kirovsky district".
val streetAddress
Address within the settlement. Example: "Nikolaeva, 11".
val addressComment
Comment on the address. Example: "301 office; 9th floor".
val postCode
Postal code of the object with the building code, if any. Example: "630088", "630007/XBVJF8".
Fps
Frames per second, frame rate.
FreeRoamSettings
var onRoutePrefetchLength
Road graph tiles are loaded into the HTTP cache during navigation if they correspond to a section of the route 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 matches zero or negative distance.
var onRoutePrefetchRadiusMeters
When caching road graph tiles during navigation, tiles are loaded into the 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 the HTTP cache, if the parameter corresponds to zero or negative distance.
var prefetchRadiusMeters
Road graph tiles are loaded into the 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 into the HTTP cache if the parameter corresponds to a zero or negative distance.< /p>
Geometry
GeometryMapObject
Geometric object of the map.
Methods are thread-safe.
The object is displayed on the map under the following conditions:
- the object is visible;
- the object is added to the data source;
- the data source containing the object is added to the map;
- the display parameters in the map styles are applicable to this object. For more information about displaying objects on the map, see ISource.
val geometryChannel
Object geometry.
var geometry
Object geometry.
val objectAttributes
Gets the properties of the map object for reading and modifying.
val isVisibleChannel
Current object visibility flag.
var isVisible
Current object visibility flag.
val isDraggableChannel
Current object relocation flag.
var isDraggable
Current object relocation flag.
val bounds
Minimum size of rectangle containing geometry.
GeometryMapObjectBuilder
Class for setting properties and then creating geometric objects.
GeometryMapObjectBuilder()
fun setObjectAttribute(name: String, value: AttributeValue): GeometryMapObjectBuilder
fun setObjectAttributes(values: Map): GeometryMapObjectBuilder
Sets the properties of the map object.
values
Set of "name":"value" pairs for the added properties of a map object.
The method does not replace the entire set of object properties, i.e. if a property is absent in values, but has already been added to the object previously, it will not be changed.
fun setGeometry(geometry: Geometry): GeometryMapObjectBuilder
Sets the geometry of the map object.
fun setVisible(visible: Boolean): GeometryMapObjectBuilder
Sets the visibility of the map object.
fun setDraggable(draggable: Boolean): GeometryMapObjectBuilder
Sets the possibility of dragging a map object.
fun setUserData(userData: Any?): GeometryMapObjectBuilder
Installing user data.
User data is not used in any way in the SDK and is only returned it to the user.
fun createObject(): GeometryMapObject
Constructs a map object.
The object must have geometry
After calling this function, GeometryMapObjectBuilder becomes unsuitable for setting the parameters of a map object or for creating an object.
fun setObjectAttribute(name: String, value: Boolean): GeometryMapObjectBuilder
fun setObjectAttribute(name: String, value: Long): GeometryMapObjectBuilder
fun setObjectAttribute(name: String, value: Int): GeometryMapObjectBuilder
fun setObjectAttribute(name: String, value: Double): GeometryMapObjectBuilder
fun setObjectAttribute(name: String, value: Float): GeometryMapObjectBuilder
fun setObjectAttribute(name: String, value: String): GeometryMapObjectBuilder
fun setObjectAttribute(name: String, value: ByteArray): GeometryMapObjectBuilder
fun setObjectAttribute(name: String, value: Color): GeometryMapObjectBuilder
GeometryMapObjectSource
Source of geometric map objects.
fun clusteringObjects(position: CameraPosition): List<MapObject>
Gets a list of objects participating in clustering given a camera position. The list contains both clusters and geometric objects.
fun addObject(item: GeometryMapObject): Unit
Adds an object to the source.
Adding objects by group is more efficient than adding one by one, especially when the source has already been added to one or more maps.
Adding is asynchronous, thread-safe, the method can be used from any thread.
For a source with clustering, addition is not yet implemented, an exception will be thrown.
fun addObjects(objects: List<GeometryMapObject>): Unit
Adds multiple objects to the source.
Adding objects by group is more efficient than adding one by one, especially when the source has already been added to one or more maps.
Adding is asynchronous, thread-safe, the method can be use from any thread.
For a source with clustering, addition is not yet implemented, an exception will be thrown.
fun removeObject(item: GeometryMapObject): Unit
Deletes an object from the source.
The deletion is asynchronous, thread-safe, the method can be used from any thread.
fun removeObjects(objects: List<GeometryMapObject>): Unit
Removes objects from the source.
fun removeAndAddObjects(objectsToRemove: List<GeometryMapObject>, objectsToAdd: List<GeometryMapObject>): Unit
Removes and adds objects to the source.
GeometryMapObjectSourceBuilder
fun setSourceAttribute(name: String, value: AttributeValue): GeometryMapObjectSourceBuilder
Sets the property of map objects common to the entire source (see ISource).
fun setSourceAttributes(values: Map): GeometryMapObjectSourceBuilder
Sets properties of map objects common to the entire source.
fun addObject(item: GeometryMapObject): GeometryMapObjectSourceBuilder
Adds a map geometry object to the source.
fun addObjects(objects: List<GeometryMapObject>): GeometryMapObjectSourceBuilder
Adds several geometric map objects to the source.
fun createSource(): GeometryMapObjectSource
Creates a source of geometric objects.
After calling this function, you cannot use the GeometryMapObjectSourceBuilder to create a data source or set data source parameters.
GeoPoint
Point in a spherical coordinate system that, together with a geodetic coordinate system (e.g. WGS84), indicates a point on the Earth's surface. This structure is not tied to a specific geodetic coordinate system. However, this module contains free functions that operate on this structure in a specific coordinate system (to determine the coordinate system used, see the documentation for the functions).
GeoPoint(latitude: Latitude, longitude: Longitude)
Point in a spherical coordinate system that, together with a geodetic coordinate system (e.g. WGS84), indicates a point on the Earth's surface. This structure is not tied to a specific geodetic coordinate system. However, this module contains free functions that operate on this structure in a specific coordinate system (to determine the coordinate system used, see the documentation for the functions).
fun move(bearing: Bearing, meter: Meter): GeoPoint
Calculates the point obtained by moving the original point in the specified direction by the specified distance.
fun withElevation(elevation: Elevation = Elevation(0.0f)): GeoPointWithElevation
fun bearing(point: GeoPoint): Bearing
Calculates the direction (bearing, i.e. the angle between true north and the direction of travel, counted clockwise) between two points.
GeoPointRouteAttribute
Container that describes a point attribute of a route. Each element is stored as the point on the route (where the element is located) and the value of the element itself.
fun entries(begin: RoutePoint, end: RoutePoint): List<GeoPointRouteEntry>
Elements falling within the [begin, end) range.
fun findNearBackward(point: RoutePoint): GeoPointRouteEntry?
Finds the nearest element the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
fun findNearForward(point: RoutePoint): GeoPointRouteEntry?
Finds the nearest element the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
fun calculateGeoPoint(routePoint: RoutePoint): SegmentGeoPoint?
Calculates a GeoPoint from a known RoutePoint.
routePoint
Calculated geographical coordinates and the direction of the segment pointed to by the route_point parameter. If the route is empty or the route_point goes beyond the route, null is returned.
The complexity of the operation is O(log2(N)), where N = route_geometry .size()
GeoPointRouteEntry
Route element - point and value in it.
GeoPointRouteEntry(point: RoutePoint, value: GeoPoint)
Route element - point and value in it.
GeoPointWithElevation
Pint in a geographic coordinates system (latitude, longitude, elevation).
Elevation is calculated in meters above the surface, not above the sea level.
GeoPointWithElevation(
latitude: Latitude,
longitude: Longitude,
elevation: Elevation = Elevation(value = 0.0f)
)
Pint in a geographic coordinates system (latitude, longitude, elevation).
Elevation is calculated in meters above the surface, not above the sea level.
fun bearing(point: GeoPoint): Bearing
Calculates the direction (bearing, i.e. the angle between the north direction and the direction of travel, counted clockwise ) for projecting a point onto the map and a given point.
fun distance(point: GeoPoint): Meter
Calculates the minimum (by great circle) distance between the projection of a point on the map and a given point.
fun move(bearing: Bearing, meter: Meter): GeoPointWithElevation
Calculates the point obtained by moving the projection of the origin point in the specified direction by the specified distance.
GeoRect
Rectangular area in a spherical coordinate system (for example, WGS84). This structure is not tied to a specific geodesic coordinate system.
fun contains(point: GeoPoint): Boolean
Whether the rectangle contains a point. Points located on the boundary are also considered to belong to the rectangle.
fun expand(point: GeoPoint): GeoRect
Expands the rectangle. Returns the minimum rectangle containing the original rectangle and point.
val isValid
Checks the rectangle for validity.
val isDegenerate
Checks the rectangle for degeneracy. If the points in the rectangle are equal, then it degenerates to a point. A degenerate rectangle is a valid rectangle. An invalid rectangle is not degenerate.
val southWestPoint
Southwest point, lower-left border of the rectangle.
val northEastPoint
Northeast point, upper-right border of the rectangle.
GestureManager
Class for managing gesture processing.
fun setSettingsAboutMapPositionPoint(settings: EventsProcessingSettings): Unit
Sets the point relative to which the scaling and rotation take place.
settings
Event handling settings.
When the function is called, gesture recognition tools are recreated.
fun setMutuallyExclusiveGestures(rules: List<EnumSet<Gesture>>): Unit
Sets a list of rules for excluding simultaneous triggering of multiple gestures.
The passed list is extended with default rules, which do not allow the tilt management gesture to be triggered simultaneously with other gestures. Each rule contains a list of gestures that cannot be triggered simultaneously. For example, if the Scaling and Rotation gestures are specified in the rule, these gestures will not work simultaneously. If multiple gestures from the rule are called simultaneously, the gesture with higher priority will be triggered. The order of gesture priorities (in descending order): (Shift ->) Tilt -> Scaling -> Rotation -> MultiTouchShift
GlobalMapOptions
Global map settings. They are specified during the SDK initialization and used for all maps.
GlobalMapOptions(graphicsApi: GraphicsApi = GraphicsApi.OPEN_GL)
Global map settings. They are specified during the SDK initialization and used for all maps.
graphicsApi
val graphicsApi
Graphics API.
GradientPolylineOptions
Gradient polyline options.
GradientPolylineOptions(
borderWidth: LogicalPixel = LogicalPixel(value = 0.0f),
secondBorderWidth: LogicalPixel = LogicalPixel(value = 0.0f),
gradientLength: LogicalPixel = LogicalPixel(value = 1.0f),
borderColor: Color = Color(),
secondBorderColor: Color = Color(),
colors: List<Color>,
colorIndices: ByteArray
)
Gradient polyline options.
borderWidth
secondBorderWidth
gradientLength
borderColor
secondBorderColor
colors
colorIndices
val borderWidth
Line border width.
val secondBorderWidth
Width of the second line border.
val gradientLength
Gradient line length.
val borderColor
Border color.
val secondBorderColor
Second border color.
val colors
Gradient polyline color picker.
val colorIndices
Color indices of the gradient polyline. The number of indices must be 1 less than the number of polyline points.
GroupCheckableItem
Set of elements that works as a radio group.
val items
Gets a set of group elements.
HttpCacheManager
HttpHeader
HttpOptions
HTTP client options.
HttpOptions(
certificates: List?<Certificate> = null,
timeout: Duration = Duration.ofMilliseconds(15000),
useCache: Boolean = true,
cacheStoragePath: String? = null,
cacheMaxSize: Long? = null,
proxy: HttpProxyOptions? = null
)
HTTP client options.
certificates
timeout
useCache
cacheStoragePath
cacheMaxSize
proxy
val certificates
Certificates in PEM format. If not specified, system certificates + supplied with the SDK are used.
val timeout
Timeout for HTTP requests.
val useCache
Use HTTP cache.
val cacheStoragePath
Path to the top-level directory for the main HTTP cache file store. The file store will be located in the http_cache subdirectory in this directory. If no path is specified, the directory returned by context.getCacheDir() will be used.
val cacheMaxSize
Maximum HTTP cache size in bytes. If not specified, the default maximum HTTP cache size is 300 MB.
val proxy
Proxy settings.
HttpProxyOptions
Proxy settings.
HttpRequest
Structure for presenting an HTTP request.
HttpRequest(
url: String,
method: HttpMethod = HttpMethod.GET,
headers: List<HttpHeader> = listOf(),
body: ByteArray? = null
)
Structure for presenting an HTTP request.
HttpResponse
Structure for presenting a response for an HTTP request.
The reponse body is stored and handled separately.
HttpResponse(statusCode: HttpStatusCode, headers: List<HttpHeader>)
Structure for presenting a response for an HTTP request.
The reponse body is stored and handled separately.
HttpResponseCallback
Object with callbacks for handling the sending and receiving of data.
fun onResponse(response: HttpResponse): Boolean
Method that handles receiving a response from the server.
response
Server response.
Returns false if the SDK has cancelled sending/handling a request.
fun onReceive(body: ByteArray, size: Int): Boolean
Method that handles receiving a response body. Handling can be done in parts.
fun onFinished(): Unit
HttpStatusCode
Image
Image.
ImageData
Image data: size, format, and binary data.
ImageData(
size: ScreenSize,
format: ImageFormat,
data: ByteArray
)
Image data: size, format, and binary data.
fun toBitmap(): Bitmap
IncompleteTextHandler
Autocomplete is suggested for the text entered by the user.
IndoorBuilding
Building with floor plans.
IndoorControl
Floor control.
It is a column with the names of floors with the active one highlighted. When you click a name, the floor plan switches. No more than 5 names are displayed at the same time, those that do not fit can be scrolled to.
IndoorControl(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
)
Floor control.
It is a column with the names of floors with the active one highlighted. When you click a name, the floor plan switches. No more than 5 names are displayed at the same time, those that do not fit can be scrolled to.
var markedLevels
Floors on which marks are displayed.
IndoorControlModel
Floor control model.
val activeLevelIndexChannel
Active floor index.
var activeLevelIndex
Active floor index.
var markedLevels
Floors on which marks are displayed.
val levelNamesChannel
Names of floors. Empty if the map does not display a building with floor plans or if the building has only one floor.
val levelNames
Names of floors. Empty if the map does not display a building with floor plans or if the building has only one floor.
IndoorDetector
Detector that determines if a user is infoors.
IndoorManager
Class for getting the current building with floor plans.
fun setIndoorState(newState: IndoorManagerState): Unit
Switching the floor plan manager on/off.
IndoorRouteLevelsGetter
Allows you to get the set of floors through which the routes displayed on the map pass.
InputEvent
User input event.
InstructionRouteAttribute
Container that describes a point attribute of a route. Each element is stored as the point on the route (where the element is located) and the value of the element itself.
fun entries(begin: RoutePoint, end: RoutePoint): List<InstructionRouteEntry>
Elements falling within the [begin, end) range.
fun findNearBackward(point: RoutePoint): InstructionRouteEntry?
Finds the nearest element the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
fun findNearForward(point: RoutePoint): InstructionRouteEntry?
Finds the nearest element the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
InstructionRouteEntry
Route element - point and value in it.
InstructionRouteEntry(point: RoutePoint, value: RouteInstruction)
Route element - point and value in it.
IntRouteAttribute
Container that describes a point attribute of a route. Each element is stored as the point on the route (where the element is located) and the value of the element itself.
fun entries(begin: RoutePoint, end: RoutePoint): List<IntRouteEntry>
Elements falling within the [begin, end) range.
fun findNearBackward(point: RoutePoint): IntRouteEntry?
Finds the nearest element the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
fun findNearForward(point: RoutePoint): IntRouteEntry?
Finds the nearest element the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
IntRouteEntry
Route element - point and value in it.
IntRouteEntry(point: RoutePoint, value: Int)
Route element - point and value in it.
IsOpenNow
Open now.
IsOpenNow()
Open now.
ItemMarkerInfo
KeyFromAsset
Key from an asset.
KeyFromFile
Key from a file.
KeyFromString
Key from a string.
KeySource
Source of the key.
fun match(
fromAsset: Function1,
fromFile: Function1,
fromString: Function1
): T
fun toString(): String
fun hashCode(): Int
LanesCalloutMapPosition
Position of the lane callout for the route.
LanesCalloutMapPosition(
mapId: MapId,
routePoint: RoutePoint,
geoPoint: GeoPoint
)
Position of the lane callout for the route.
LaneSignRouteLongAttribute
Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. Attribute action starts at this point and ends at the next point, at which the next element's attribute action begins.
fun entry(point: RoutePoint): LaneSignRouteLongEntry?
Element that the specified point falls into.
fun entries(begin: RoutePoint, end: RoutePoint): List<LaneSignRouteLongEntry>
Elements partially or completely covered by the begin,end range.
LaneSignRouteLongEntry
Extended route element - segment and value on it.
LaneSignRouteLongEntry(
point: RoutePoint,
length: RouteDistance,
value: RouteLaneSign
)
Extended route element - segment and value on it.
Latitude
Geographical latitude.
LevelId
Floor plan identifier.
LevelInfo
Information about the floor of the building.
Locale
Locale.
fun toLocalePosix(): String
LocaleManager
Manager of application regional settings.
fun overrideLocales(locales: List<Locale>): Unit
Setting the list of application locales.
val localesChannel
Application locales, if specified, otherwise - locales specified by the user in the OS.
val locales
Application locales, if specified, otherwise - locales specified by the user in the OS.
val systemLocalesChannel
Gets locales provided by the OS.
OS locales are ordered in the way specified by the user (in order of highest priority to a lower priority).
val systemLocales
Gets locales provided by the OS.
OS locales are ordered in the way specified by the user (in order of highest priority to a lower priority).
Location
Geoposition.
Location(
coordinates: LocationCoordinates,
altitude: LocationFuzzyDouble?,
course: LocationCourse?,
groundSpeed: LocationFuzzyDouble?,
source: String,
timestamp: Duration
)
Geoposition.
coordinates
altitude
course
groundSpeed
source
timestamp
val coordinates
coordinates::value - coordinates of the geoposition. coordinates::accuracy - horizontal accuracy of the geoposition coordinates (DRMS), m. https://en.wikipedia.org/wiki/Circular_error_probable Value range: >= 0.
val altitude
altitude::value - height above the WGS84 reference ellipsoid, m. altitude::accuracy - standard deviation of the measurement error of the height, m. null means that the platform does not provide this field. https://en.wikipedia.org/wiki/Standard_deviation Value range: (null, > 0).
val course
course::value - bearing (direction of movement along the Earth's surface. The angle is measured relative to geographic north). course::accuracy - standard deviation of the measurement error of the angle. null means that the platform does not provide this field. https://en.wikipedia.org/wiki/Standard_deviation Value range: (null, > 0).
val groundSpeed
ground_speed - speed of movement along the Earth's surface, m/s. Value range: >= 0. ground_speed::accuracy - mean square deviation of the measurement error of the speed, m/s. null means that the platform does not provide this field. https://en.wikipedia.org/wiki/Rayleigh_distribution Value range: (null, > 0).
val source
Name of the location source.
Timestamps between different location sources are not synchronized, so you cannot compare timestamps for locations that are obtained from different sources.
val timestamp
Time point at which the geolocation was determined. This point is not tied to any specific date and is used solely to calculate the time between two location measurements obtained from the same location source in the same session. This field must increase monotonically (even when the system is in sleep mode).
LocationCoordinates
LocationCourse
LocationFuzzyDouble
LogicalPixel
Pixel which size does not depend on screen density.
1 logical pixel equals 1/(base ppi) of an inch. The base PPI is device-specific and is calculated from the DevicePpi/DeviceDensity ratio. DevicePpi and DeviceDensity are set with the OS via the map interface. For Android, LogicalPixel corresponds to dp, for iOS - to point.
LogicalPixel(value: Float = 0.0f)
Pixel which size does not depend on screen density.
1 logical pixel equals 1/(base ppi) of an inch. The base PPI is device-specific and is calculated from the DevicePpi/DeviceDensity ratio. DevicePpi and DeviceDensity are set with the OS via the map interface. For Android, LogicalPixel corresponds to dp, for iOS - to point.
value
LogMessage
Message to be logged.
LogOptions
Logging settings.
Longitude
Geographical longitude.
MagneticChangeListener
Class that keeps track of compass direction changes and compass availability.
ManeuverControl
Map
Map.
fun addSource(source: Source): Unit
Adds a data source to the map.
Occurs asynchronously. The method can be called from any thread, it is thread-safe.
fun removeSource(source: Source): Unit
Removes a data source from the map.
Occurs asynchronously. The method can be called from any thread, it is thread safe.
fun getRenderedObjects(centerPoint: ScreenPoint, radius: ScreenDistance = ScreenDistance(value = 1.0f)): Future<List<RenderedObjectInfo>>
Gets displayable map objects projected onto a circle on the screen.
centerPoint
Circle center.
radius
Radius of the circle.
The list of objects is formed in the order of rendering from the latest to the earliest.
fun setAttribute(name: String, value: AttributeValue): Unit
val id
Map instance ID, unique within the process.
val camera
Gets a camera.
val indoorManager
Gets a floor plan manager.
val dataLoadingStateChannel
Notification about the state of data loading to the map.
When tracking the camera position, the map state is always MapDataLoadingState::Loading.
val dataLoadingState
Notification about the state of data loading to the map.
When tracking the camera position, the map state is always MapDataLoadingState::Loading.
val styleChannel
Gets current map styles.
var style
Gets current map styles.
val fontIconSizeMultiplierChannel
Icon and font size multiplier received from the application.
The size of icons and fonts is specified in logical pixels (see LogicalPixel) and multiplied by the font and icon size multiplier.
var fontIconSizeMultiplier
Icon and font size multiplier received from the application.
The size of icons and fonts is specified in logical pixels (see LogicalPixel) and multiplied by the font and icon size multiplier.
val sources
Gets map data sources.
Occurs asynchronously. The method can be called from any thread, it is thread safe.
val mapVisibilityStateChannel
var mapVisibilityState
val attributes
Gets attributes.
The following properties must be specified: "theme"="day|night" "navigatorOn"="true|false"
val interactiveChannel
Map interactivity. Interactivity means that the user has the ability to interact with the map. If interactivity is disabled, the map stops responding to input events obtained from the user. Controls for working with the map (zooming in and moving to the current position) also stop working. It remains possible to work with the map via set_position/move. Unfinished gestures are reset upon transition to the non-interactive state. By default, the map is interactive (interactive == true).
The function can be called from any thread.
var interactive
Map interactivity. Interactivity means that the user has the ability to interact with the map. If interactivity is disabled, the map stops responding to input events obtained from the user. Controls for working with the map (zooming in and moving to the current position) also stop working. It remains possible to work with the map via set_position/move. Unfinished gestures are reset upon transition to the non-interactive state. By default, the map is interactive (interactive == true).
The function can be called from any thread.
MapControl
Base class for map UI controls.
MapControl(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
)
Base class for map UI controls.
MapControls
Controls to wotk with the map during navigation.
MapDirection
Angle of the object rotation relative to the north direction, in degrees, counted clockwise.
MapDirection(value: Double = 0.0)
Angle of the object rotation relative to the north direction, in degrees, counted clockwise.
value
MapId
Map instance ID, unique within the process.
MapLocationController
Controller for map positioning in navigator.
MapManager
Interface that allows you to add maps to the navigator and remove them.
MapObject
Object on the map.
MapObjectManager
MapObjectManager(map: Map, layerId: String? = null)
Creates an IMapObjectManager.
fun removeObject(item: SimpleMapObject): Unit
Deletes an object.
fun addObjects(objects: List<SimpleMapObject>): Unit
Adds objects.
fun removeObjects(objects: List<SimpleMapObject>): Unit
Deletes objects.
fun removeAndAddObjects(objectsToRemove: List<SimpleMapObject>, objectsToAdd: List<SimpleMapObject>): Unit
Removes and adds objects.
fun removeAll(): Unit
fun clusteringObjects(position: CameraPosition): List<MapObject>
Gets a list of objects participating in clustering given the camera position. The list contains both clusters and markers.
@JvmStatic
fun withClustering(
map: Map,
logicalPixel: LogicalPixel,
maxZoom: Zoom,
clusterRenderer: SimpleClusterRenderer,
minZoom: Zoom = Zoom(value = 0.0f),
layerId: String? = null
): MapObjectManager
Creates an IMapObjectManager with data clustering. Only IMarker objects are clustered.
map
logicalPixel
Minimum possible distance on the screen between anchor points of markers on levels where clustering works.
maxZoom
Level starting from which all markers are visible.
clusterRenderer
Interface for setting cluster display parameters.
minZoom
Level starting from which clusters are formed.
layerId
Layer ID in the "Dynamic Object" type style. Created objects are placed on this layer, this allows you to set their order relative to other layers. If not specified, objects are placed on top of other layers.
@JvmStatic
fun withGeneralization(
map: Map,
logicalPixel: LogicalPixel,
maxZoom: Zoom,
minZoom: Zoom = Zoom(value = 0.0f),
layerId: String? = null
): MapObjectManager
Creates an IMapObjectManager with data generalization. Only IMarker objects are generalized.
map
logicalPixel
Minimum distance on the screen between marker anchor points on levels where generalization works.
maxZoom
Level starting from which all markers are visible.
minZoom
Level starting from which generalization works.
layerId
Layer ID in the "Dynamic Object" type style. Created objects are placed on this layer, this allows you to set their order relative to other layers. If not specified, objects are placed on top of other layers.
MapOptions
Map options.
MapOptions()
Map options.
@JvmStatic
fun fromAttributes(context: Context, attrs: AttributeSet): MapOptions
MapPaddingControl
Control that sets the padding of the map.
MapPaddingControl(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
)
Control that sets the padding of the map.
MapRotationBeginEvent
Event of starting map rotation around a point.
val direction
MapRotationEndEvent
Event of ending the map rotation around the point.
MapRotationEndEvent()
MapScalingBeginEvent
MapScalingEndEvent
MapShiftBeginEvent
MapShiftEndEvent
MapTheme
Theme to use in the map.
val name
Code of the style from the Style Editor.
val loadingBackground
The background color used before styles are loaded and the map background is displayed. In default themes, this matches the default map background color.
val defaultTheme
Standard light theme for base styles.
val defaultDarkTheme
Standard dark theme for base styles.
MapView
Container of the map and additional controls.
fun onAttachedToWindow(): Unit
fun onDetachedFromWindow(): Unit
fun setTouchEventsObserver(observer: TouchEventsObserver?): Unit
fun addObjectTappedCallback(callback: MapObjectTappedCallback): Unit
fun removeObjectTappedCallback(callback: MapObjectTappedCallback): Unit
fun addObjectLongTouchCallback(callback: MapObjectTappedCallback): Unit
fun removeLongTouchCallback(callback: MapObjectTappedCallback): Unit
fun setCopyrightMargins(
left: Int,
top: Int,
right: Int,
bottom: Int
): Unit
fun setTheme(theme: MapTheme): Unit
Sets the theme to be used in the map.
fun onConfigurationChanged(newConfig: Configuration): Unit
fun onSaveInstanceState(): Parcelable?
fun onVisibilityChanged(changedView: View, visibility: Int): Unit
fun takeSnapshot(copyrightPosition: Alignment = Alignment.BOTTOM_RIGHT): Future<ImageData>
fun useCustomGestureRecognitionEngine(customGestureRecognitionEngine: MapGestureRecognitionEngine): Unit
Use custom gesture recognizer.
lateinit var mapOptions
var showApiVersionInCopyrightView
var maxFps
Maximum allowed map refresh rate. If not set, it is equal to the screen refresh rate.
var powerSavingMaxFps
Maximum allowed map refresh rate in power saving mode. If not set, it is equal to maxFps.
val fpsChannel
Map update frequency. To get the correct value, you must keep a subscription to the channel. Before calling the method, the map must be initialized (getMapAsync is completed).
val renderView
Returns the View used for rendering OpenGL.
val gestureManager
val mapTheme
Theme that is used by the map. To change during the lifecycle MapView, use setTheme.
MarkedByRouteIndoorControl
Floor control, which marks the floors through which routes pass on the map.
MarkedByRouteIndoorControl(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
)
Floor control, which marks the floors through which routes pass on the map.
MarkedUpText
Marked text.
MarkedUpText(text: String, matchedParts: List<MarkedUpTextSpan>)
Marked text.
MarkedUpTextSpan
Describes a subset of bytes of the text string.
Marker
Point on the map that is of interest to the user.
var position
Gets a marker location.
var icon
Gets a marker icon.
var anchor
Gets an anchor point of a 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 dragability flag.
var iconWidth
Gets the target marker width used for scaling.
var iconMapDirection
Rotation angle of the marker on the map relative to the north direction, clockwise.
var animatedAppearance
Whether to animate the appearance.
var iconAnimationMode
Gets the animation mode for an animated marker.
MarkerOptions
Marker options.
MarkerOptions(
position: GeoPointWithElevation,
icon: Image?,
iconMapDirection: MapDirection? = null,
anchor: Anchor = Anchor(x = 0.5f, y = 0.5f),
text: String? = null,
textStyle: TextStyle? = null,
iconOpacity: Opacity = Opacity(value = 1.0f),
visible: Boolean = true,
draggable: Boolean = false,
iconWidth: LogicalPixel = LogicalPixel(value = 0.0f),
userData: Any? = null,
zIndex: ZIndex = ZIndex(value = 0),
animatedAppearance: Boolean = true,
levelId: LevelId? = null,
iconAnimationMode: AnimationMode = AnimationMode.NORMAL
)
Marker options.
position
icon
iconMapDirection
anchor
text
textStyle
iconOpacity
visible
draggable
iconWidth
userData
zIndex
animatedAppearance
levelId
iconAnimationMode
val position
val icon
val iconMapDirection
val anchor
val text
val textStyle
val iconOpacity
val visible
val draggable
val iconWidth
Target width used for scaling.
val userData
val zIndex
Object rendering level.
val animatedAppearance
Whether to animate the appearance.
val levelId
Link to the floor plan of the building.
val iconAnimationMode
Animation mode.
MessageControl
Meter
Length/distance in meters.
MillisecondsRouteAttribute
Container that describes a point attribute of a route. Each element is stored as the point on the route (where the element is located) and the value of the element itself.
fun entries(begin: RoutePoint, end: RoutePoint): List<MillisecondsRouteEntry>
Elements falling within the [begin, end) range.
fun findNearBackward(point: RoutePoint): MillisecondsRouteEntry?
Finds the nearest element the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
fun findNearForward(point: RoutePoint): MillisecondsRouteEntry?
Finds the nearest element the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
fun calculateDuration(routePoint: RoutePoint): Duration
Calculates the expected travel time to the end of the route.
MillisecondsRouteEntry
Route element - point and value in it.
MillisecondsRouteEntry(point: RoutePoint, value: Duration)
Route element - point and value in it.
Model
Navigator model intended to be displayed in the UI.
val stateChannel
Navigator state.
val state
Navigator state.
val locationChannel
Current location that the navigator is working with.
See location_available_channel.
val location
Current location that the navigator is working with.
See location_available_channel.
val locationAvailableChannel
Flag that indicates whether the current location is used for navigation. After receiving the location, the navigator decides whether it can be used for navigation (for example, if the location has too large error margins, the navigator may decide that it is not suitable for navigation). If the location is navigable, the navigator sets the value to true in this channel. If not, it sets the value to false.
Even if the value in this channel is false, the location_channel can be updated in the location_channel.
See location_channel.
val locationAvailable
Flag that indicates whether the current location is used for navigation. After receiving the location, the navigator decides whether it can be used for navigation (for example, if the location has too large error margins, the navigator may decide that it is not suitable for navigation). If the location is navigable, the navigator sets the value to true in this channel. If not, it sets the value to false.
Even if the value in this channel is false, the location_channel can be updated in the location_channel.
See location_channel.
val routeChannel
Route with maneuvers.
In the free roam mode (StateChannel::FreeRoam), there is no route on which a user is traveling. Therefore, the section of the road on which the user is currently moving is represented by the navigator as a route and returned as the current route. This type of road definition is not a complete route as it lacks a finish point and maneuvers.
val route
Route with maneuvers.
In the free roam mode (StateChannel::FreeRoam), there is no route on which a user is traveling. Therefore, the section of the road on which the user is currently moving is represented by the navigator as a route and returned as the current route. This type of road definition is not a complete route as it lacks a finish point and maneuvers.
val dynamicRouteInfoChannel
Traffic events and traffic jam data on the route or on the predicted part of the route for FreeRoam mode.
val dynamicRouteInfo
Traffic events and traffic jam data on the route or on the predicted part of the route for FreeRoam mode.
val routePositionChannel
Current user position on the route.
val routePosition
Current user position on the route.
val exceedingMaxSpeedLimitChannel
Flag of exceeding the maximum allowed speed limit.
val exceedingMaxSpeedLimit
Flag of exceeding the maximum allowed speed limit.
val betterRouteChannel
Signal indicating an alternative route with shorter expected travel time. The null value means that an alternative route cannot be found or has become outdated.
val betterRoute
Signal indicating an alternative route with shorter expected travel time. The null value means that an alternative route cannot be found or has become outdated.
val duration
val isFreeRoam
MultiTouchShiftSettings
Settings for handling shift when touching with multiple fingers.
MultiTouchShiftSettings(thresholdMm: Float)
Settings for handling shift when touching with multiple fingers.
thresholdMm
MyLocationControl
Control of the flyover to the user's current location.
MyLocationControl(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
)
Control of the flyover to the user's current location.
MyLocationController
Class that controls the display of the current position marker.
MyLocationController(
bearingSource: BearingSource?,
animationDuration: Duration = Duration.ofMilliseconds(1000),
coordinatesThreshold: Meter = Meter(value = 0.1f),
bearingThreshold: Bearing = Bearing(value = 1.0)
)
Creating a location marker movement controller. One controller can only be added to the sources of one context.
bearingSource
Source of direction. If missing, a marker without direction will be displayed.
animationDuration
Non-negative duration of change in real direction.
coordinatesThreshold
Non-negative threshold value of considered change in real position and its accuracy.
bearingThreshold
Non-negative threshold value of considered change in real direction.
MyLocationControlModel
Model for the control to manage the flyover to the user's location. The control consists of a button that, when clicked, triggers the camera flyover to the user location. If the location is not specified, nothing happens. Object methods must be called on the same thread.
fun onClicked(): Unit
MyLocationMapObject
Geolocation marker.
MyLocationMapObjectSource
Source containing a geolocation marker.
MyLocationMapObjectSource(
context: Context,
controller: MyLocationController,
markerType: MyLocationMapObjectMarkerType = MyLocationMapObjectMarkerType.MODEL
)
Creates a location marker source.
fun setController(controller: MyLocationController): Unit
Sets up a new controller responsible for marker parameters.
val item
Gets the geolocation marker.
NativeException
Exception converted from an exception thrown in native code.
NativeObject
Base class for objects that wrap objects in native code.
NativeProxy
Technical class that encapsulates a weak pointer to an object in native code.
fun finalize(): Unit
NavigationControl
Base class for navigator UI controls.
NavigationControl
Container with controls for the zoom level and flyover to the user's current location.
NavigationFollowController
Interface for managing the map following a geolocation marker in the navigator.
NavigationManager
Root public interface of the navigator.
val uiModel
Navigator model intended to be displayed in the UI.
val indoorDetector
Indoor navigation.
val mapFollowController
Management of automatic return of the map to following a geolocation marker.
val mapLocationController
Controller for map positioning in navigator.
val mapManager
Navigator map manager.
val zoomFollowSettings
Map scaling settings during the follow mode.
val routeMapSettings
Settings for displaying the route on the map.
val routeSourceSettings
Settings for the source used to display the route on the map.
val simulationSettings
Settings for simulation of navigating the route.
val voiceSelector
Managing voice packages in the current navigator session.
val exceedSpeedLimitSettings
Settings for detection of exceeding the speed limit.
val dynamicRouteInfoSettings
Settings for receiving and updating dynamic route data.
val soundNotificationSettings
Settings for sound alerts in the current navigator session.
val freeRoamSettings
Settings for navigating without a route in free roam mode.
val alternativeRoutesProviderSettings
Alternative route search settings in the navigation mode.
val alternativeRouteSelector
Selects an alternative route.
NavigationView
UI element that displays the state of navigation on the map.
Adding it to a MapView results in the display of a route, a geolocation marker, transport events, and camera tracking. Navigation controls can be placed inside NavigationView - inheritors of NavigationControl, in particular, the ready-to-use set of controls DefaultNavigationControls.
var navigationManager
NavigationVoice
Voice to use in the navigator.
NewValuesNotifier
Interface of an object that reports that there are changes in any of the parameters.
ObstacleInfo
Information about the obstacle on the route.
ObstacleInfo(type: Obstacle = Obstacle.OTHER, limitation: ObstaclePassLimitation = ObstaclePassLimitation.UNLIMITED)
Information about the obstacle on the route.
ObstacleInfoRouteAttribute
Container that describes a point attribute of a route. Each element is stored as the point on the route (where the element is located) and the value of the element itself.
fun entries(begin: RoutePoint, end: RoutePoint): List<ObstacleInfoRouteEntry>
Elements falling within the [begin, end) range.
fun findNearBackward(point: RoutePoint): ObstacleInfoRouteEntry?
Finds the nearest element the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
fun findNearForward(point: RoutePoint): ObstacleInfoRouteEntry?
Finds the nearest element the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
ObstacleInfoRouteEntry
Route element - point and value in it.
ObstacleInfoRouteEntry(point: RoutePoint, value: ObstacleInfo)
Route element - point and value in it.
ObstacleInfoRouteLongAttribute
Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. Attribute action starts at this point and ends at the next point, at which the next element's attribute action begins.
fun entry(point: RoutePoint): ObstacleInfoRouteLongEntry?
Element that the specified point falls into.
fun entries(begin: RoutePoint, end: RoutePoint): List<ObstacleInfoRouteLongEntry>
Elements partially or completely covered by the begin,end range.
ObstacleInfoRouteLongEntry
Extended route element - segment and value on it.
ObstacleInfoRouteLongEntry(
point: RoutePoint,
length: RouteDistance,
value: ObstacleInfo
)
Extended route element - segment and value on it.
Opacity
Opacity - from 0.0 (fully transparent) to 1.0 (fully opaque).
Opacity(value: Float = 0.0f)
Opacity - from 0.0 (fully transparent) to 1.0 (fully opaque).
value
OpeningHours
Opening hours of the organization.
OpeningHours(weekOpeningHours: List<List<WeekTimeInterval>>, isOpen24x7: Boolean)
Opening hours of the organization.
OrderedValue
Describes one value from a set.
OrderedValues
Describes a set of discrete ordered values.
OrderedValues(
values: List<OrderedValue>,
currentMinIndex: Long? = null,
currentMaxIndex: Long? = null
)
Describes a set of discrete ordered values.
Package
Package. For the convenience of working with data (installation, updating, deletion), data in the 2GIS SDK are grouped into sets according to functional-logical purpose. A set of grouped data is called a package. The functional purpose of data is unique within one package. However, sets data of packages with the same functionality may overlap, that is, it is possible that the data of several packages have common files. In operations with a group of such packages, the common data will be processed (downloaded, unpacked, deleted) only once.
val id
Stable technical package identifier.
val infoChannel
Package information.
val info
Package information.
val progressChannel
Package installation or update operation progress as a percentage. If the package is not installed locally, the channel contains the value 0. If the package is installed locally, regardless of the date and compatibility with the current SDK version, the channel contains the value 100. If the package is located during the install or update phase, the channel contains the update value in the range 0.100.
val progress
Package installation or update operation progress as a percentage. If the package is not installed locally, the channel contains the value 0. If the package is installed locally, regardless of the date and compatibility with the current SDK version, the channel contains the value 100. If the package is located during the install or update phase, the channel contains the update value in the range 0.100.
PackageInfo
Package information. See IPackage.
PackageInfo(
name: String,
installed: Boolean = false,
incomplete: Boolean = true,
preinstalled: Boolean = false,
compatible: Boolean = false,
hasUpdate: Boolean = false,
error: PackageInfoError?,
updateStatus: PackageUpdateStatus = PackageUpdateStatus.NOT_AVAILABLE
)
Package information. See IPackage.
name
installed
incomplete
preinstalled
compatible
hasUpdate
error
updateStatus
val name
Localized package name.
val installed
Installation flag - true, if the package was selected for installation.
val incomplete
Installation pending flag - true, if there is no fully loaded version of the package (possibly incompatible with the current SDK version).
val preinstalled
Flag for pre-installed packages. Pre-installed packages are always installed and fully loaded, and cannot be removed.
val compatible
Compatibility flag - true, if the downloaded package is compatible with the current SDK version.
val hasUpdate
Indicator of an update availability - true, if there is an update for the downloaded package. It is possible, that during the process of updating to a new version, an even newer version of the package became available on the server. In this case, the value is true both during the update and upon completion.
val error
Error occurred while trying to load and/or install a package, or null if there is no error.
val updateStatus
Package update status.
PackageManager
Interface for centralized package management:
- Managing auto-update and obtaining its status;
- Forced updates checking;
- Starting and stopping the installation/update of all available packages.
- Subscription to changes in information about packages;
- Subscription to changes in information about the overall installation progress of packages.
var autoupdateEnabled
Auto-update status (enabled/disabled).
val packagesChannel
Channel with a list of all known packages. Updated if information about at least one of the packages or the list composition changes.
val packages
Channel with a list of all known packages. Updated if information about at least one of the packages or the list composition changes.
PackedMapState
Serialized map state.
@JvmStatic
fun of(
position: CameraPosition,
showTraffic: Boolean,
behaviour: CameraBehaviour
): PackedMapState
Gets the map state.
position
Camera position.
showTraffic
Status of displaying traffic score on the map.
behaviour
Camera tracking mode.
Serialized map state.
@JvmStatic
fun fromBytes(data: ByteArray): PackedMapState
Gets the map state.
@JvmStatic
fun fromMap(map: Map): PackedMapState
Gets the map state.
PackedNavigationState
Auxiliary object for serializing and deserializing the navigation state.
PackedSearchQuery
Auxiliary object for serializing and deserializing a search query.
fun toBytes(): ByteArray
fun toSearchQuery(): SearchQuery
@JvmStatic
fun fromBytes(data: ByteArray): PackedSearchQuery
Deserialization of a search query.
@JvmStatic
fun fromSearchQuery(searchQuery: SearchQuery): PackedSearchQuery
val queryText
Query text. For some queries (for example, expanding a category from a suggest), there is no text, because identifiers are stored in the query, and the behavior is different from searching the text of the suggest element.
val spatialRestriction
Geometry limiting the search area.
val areaOfInterest
Rectangular area of interest.
val allowedResultTypes
Restriction on object types returned by search.
val pageSize
Issue page size.
val directoryFilter
Information about active filters.
val sortingType
Type of sorting of results.
Padding
Camera padding.
Specified as an inward offset from the edges, in physical pixels. The paddings affect:
- the position point;
- animated map movement;
- the placement of dynamic map objects (such as route callouts).
Padding(
left: Int = 0,
top: Int = 0,
right: Int = 0,
bottom: Int = 0
)
Camera padding.
Specified as an inward offset from the edges, in physical pixels. The paddings affect:
- the position point;
- animated map movement;
- the placement of dynamic map objects (such as route callouts).
Page
Search results page.
fun fetchPrevPage(): Future<Page?>
Gets the previous page of results.
Future that resolves into a non-null pointer to the previous page if the page is retrieved successfully. Future that resolves to a null pointer if there is no previous page. Exceptional future if an error occurred while fetching the page.
fun fetchNextPage(): Future<Page?>
Gets the next page of results.
Future that resolves to a non-null pointer to the next page if the page is retrieved successfully. Future that resolves to a null pointer if there is no next page. Exceptional future if an error occurred while fetching the page.
val items
Non-empty set of reference objects for this page.
ParkingCapacity
Parking capacity.
ParkingCapacity(total: String?, specialSpaces: List<SpecialSpace>)
Parking capacity.
ParkingInfo
General parking information.
ParkingInfo(
type: ParkingType?,
purpose: ParkingPurpose,
access: ParkingAccess,
pavingType: ParkingPavingType?,
isPaid: Boolean,
isIncentive: Boolean,
forTrucks: Boolean,
levelCount: Short?,
capacity: ParkingCapacity?
)
General parking information.
type
purpose
access
pavingType
isPaid
isIncentive
forTrucks
levelCount
capacity
PedestrianBriefRouteInfo
Basic information about the pedestrian route.
PedestrianBriefRouteInfo(length: RouteDistance, landmark: String)
Basic information about the pedestrian route.
PedestrianInstructionCrossroad
Description of maneuvers when passing through an intersection or a pedestrian crossing.
PedestrianInstructionCrossroad(landmark: PedestrianInstructionCrossroadLandmark = PedestrianInstructionCrossroadLandmark.NONE, maneuvers: List<PedestrianInstructionCrossroadManeuver>)
Description of maneuvers when passing through an intersection or a pedestrian crossing.
PedestrianInstructionCrossroadManeuver
PedestrianInstructionCrossroadManeuver(direction: PedestrianInstructionCrossroadManeuverDirection = PedestrianInstructionCrossroadManeuverDirection.STRAIGHT, turnAngle: Int = 0)
PedestrianInstructionFinish
End of the pedestrian part of the route.
PedestrianInstructionFinish()
End of the pedestrian part of the route.
PedestrianInstructionIndoorEnter
Entrance to the building.
PedestrianInstructionIndoorEnter(levelId: LevelId = LevelId())
Entrance to the building.
levelId
PedestrianInstructionIndoorExit
Exit of the building.
PedestrianInstructionIndoorExit()
Exit of the building.
PedestrianInstructionIndoorFloorChange
Change of floors in the building.
PedestrianInstructionIndoorFloorChange(
type: PedestrianInstructionIndoorFloorChangeType = PedestrianInstructionIndoorFloorChangeType.UNDEFINED,
beginId: LevelId = LevelId(),
endId: LevelId = LevelId()
)
Change of floors in the building.
PedestrianInstructionStart
Beginning of the pedestrian part of the route.
PedestrianInstructionStart()
Beginning of the pedestrian part of the route.
PedestrianRouteSearchOptions
Pedestrian route search options.
PedestrianRouteSearchOptions(
avoidStairways: Boolean = false,
avoidUnderpassesAndOverpasses: Boolean = false,
useIndoor: Boolean = true,
excludedAreas: List<ExcludedArea> = listOf()
)
Pedestrian route search options.
avoidStairways
avoidUnderpassesAndOverpasses
useIndoor
excludedAreas
PerformSearchHandler
Suggested to search for a specific set of objects.
val searchQuery
Query to run through the search engine.
PointGeometry
PointGeometryData
Geometry data of the point object.
PointGeometryData(geoPointWithElevation: GeoPointWithElevation)
geoPointWithElevation
fun match(geoPoint: Function1, geoPointWithElevation: Function1): T
fun toString(): String
fun hashCode(): Int
Polygon
Polygon on the map.
Polygon(options: PolygonOptions)
Creates a polygon based on the parameters.
options
PolygonGeometry
PolygonOptions
Polygon settings.
PolygonOptions(
contours: List<List<GeoPoint>>,
color: Color = Color(),
strokeWidth: LogicalPixel = LogicalPixel(value = 0.0f),
strokeColor: Color = Color(),
visible: Boolean = true,
userData: Any? = null,
zIndex: ZIndex = ZIndex(value = 0),
levelId: LevelId? = null
)
Polygon settings.
contours
color
strokeWidth
strokeColor
visible
userData
zIndex
levelId
Polyline
Polyline on the map.
PolylineGeometry
PolylineOptions
Polyline options.
PolylineOptions(
points: List<GeoPoint>,
width: LogicalPixel = LogicalPixel(value = 1.0f),
color: Color = Color(),
erasedPart: Double = 0.0,
dashedPolylineOptions: DashedPolylineOptions? = null,
gradientPolylineOptions: GradientPolylineOptions? = null,
visible: Boolean = true,
userData: Any? = null,
zIndex: ZIndex = ZIndex(value = 0),
levelId: LevelId? = null
)
Polyline options.
points
width
color
erasedPart
dashedPolylineOptions
gradientPolylineOptions
visible
userData
zIndex
levelId
val points
Points of a polyline.
val width
Polyline width.
val color
Primary color of the polyline.
val erasedPart
val dashedPolylineOptions
Dashed polyline options.
Dashed gradient line options are not currently supported, so if both dashed_polyline_options and gradient_polyline_options are present in PolylineOptions, then dashed_polyline_options is ignored when creating the polyline.
val gradientPolylineOptions
Gradient polyline options.
Dashed gradient line is currently not supported, so if both dashed_polyline_options and gradient_polyline_options are present in PolylineOptions, dashed_polyline_options is ignored when creating the polyline.
val visible
Polyline visibility.
val userData
User data.
val zIndex
Object rendering level.
val levelId
Link to the floor plan of the building.
Projection
Projection.
Uses the Mercator spherical projection (EPSG:3857), looped in longitude. Displayed data is limited in latitude from -85.06° to 85.06°.
fun 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.
fun mapToScreen(point: GeoPointWithElevation): ScreenPoint?
Calculates the screen point corresponding to the specified map point.
The function returns an empty value:
fun screenToMapClipped(point: ScreenPoint): GeoPoint
Calculates the nearest map point to the projection of the specified screen point.
PublicBriefRouteInfo
Basic information about rotes by public transport.
PublicBriefRouteInfo(publicTransportInfos: List<PublicBriefRouteTransportInfo>)
Basic information about rotes by public transport.
publicTransportInfos
val publicTransportInfos
Description of ways to travel by public transport.
PublicBriefRouteTransportInfo
Description of the public transport vehicle.
PublicBriefRouteTransportInfo(
type: PublicTransportType = PublicTransportType.BUS,
names: List<String>,
color: Int?,
routeLogo: String
)
Description of the public transport vehicle.
val type
Public transport type.
val names
Names of public transport routes on which travel takes place.
val color
ARGB representation of the color associated with this type of public transport, for example, the color of a subway line. If there is no color information, the field is null.
val routeLogo
Identifier of the icon for route stops. Empty string if information is not available. Technical field.
PublicRoutePart
Description of the section of the route by public transport.
PublicRoutePart(transports: List<PublicTransportInfo>, intermediateStops: List<PublicTransportStop>)
Description of the section of the route by public transport.
val transports
Types of public transport that can be used to travel this section of the route.
If the list is empty, this section of the route is suggested to be overcome by personal or rented transport or on foot.
val intermediateStops
Intermediate stops that the transport will pass before reaching the transfer point.
Stops are sorted in the order they appear on the route.
You do not need to get off at these stops.
Start and end stops are not included in this list.
PublicTransportCard
Card that displays information about a public transport route.
PublicTransportCard(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
)
Card that displays information about a public transport route.
fun onAttachedToWindow(): Unit
var model
PublicTransportCardModel
Model for PublicTransportCard.
PublicTransportCardModel(
route: TrafficRoute,
context: Context,
startName: String? = null,
finishName: String? = null
)
Model for PublicTransportCard.
PublicTransportInfo
Description of the public transport vehicle.
PublicTransportInfo(
type: PublicTransportType = PublicTransportType.BUS,
names: List<String>,
suggestedCarNumbers: List<Int>,
boardingSuggest: String,
color: Int?,
routeLogo: String
)
Description of the public transport vehicle.
type
names
suggestedCarNumbers
boardingSuggest
color
routeLogo
val type
Public transport type.
val names
Names of public transport routes on which travel takes place.
val suggestedCarNumbers
Numbers of wagons where boarding is recommended.
If the vehicle consists of one wagon or you can board any wagon, this list is empty.
val boardingSuggest
Text description of wagons recommended for boarding.
val color
ARGB representation of the color associated with this type of public transport, for example, the color of a subway line. If there is no color information, the field is null.
val routeLogo
Identifier of the icon for route stops. Empty string if information is not available. Technical field.
PublicTransportRouteSearchOptions
Search options for a public transport route.
PublicTransportRouteSearchOptions(
startTime: TimePoint? = null,
useSchedule: Boolean = false,
transportTypes: EnumSet<PublicTransportType> = EnumSet.noneOf(PublicTransportType::class.java)
)
Search options for a public transport route.
val startTime
Time in UTC for which the route should be built. If not set, the current time is used.
val useSchedule
Whether to refer to the public transport schedule when building a route.
val transportTypes
Types of public transport. If not filled, routes are built for all supported types of public transport.
PublicTransportStop
Description of the public transport stop.
PublicTransportTransfer
Description of how to get to the next transfer point by public transport.
PublicTransportTransfer(
startPointName: String,
finishPointName: String,
routeParts: List<PublicRoutePart>
)
Description of how to get to the next transfer point by public transport.
val startPointName
Name of the point from which the movement for this section of the route begins.
val finishPointName
Destination point name for this route segment.
val routeParts
Description of the route segment on public transport, which can be used to get to the next transfer point.
All route segments from this list follow the same geometry line.
If the list is empty, then this route segment it is suggested to be passed by personal or rented transport or on foot.
PublicTransportTransferRouteLongAttribute
Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. Attribute action starts at this point and ends at the next point, at which the next element's attribute action begins.
fun entry(point: RoutePoint): PublicTransportTransferRouteLongEntry?
Element that the specified point falls into.
fun entries(begin: RoutePoint, end: RoutePoint): List<PublicTransportTransferRouteLongEntry>
Elements partially or completely covered by the begin,end range.
PublicTransportTransferRouteLongEntry
Extended route element - segment and value on it.
PublicTransportTransferRouteLongEntry(
point: RoutePoint,
length: RouteDistance,
value: PublicTransportTransfer
)
Extended route element - segment and value on it.
PurposeCode
Code of the purpose of the building.
Range
Describes a set of discrete ordered values.
fun match(borders: Function1, orderedValues: Function1): T
fun toString(): String
fun hashCode(): Int
RangeFilter
Filter for the value ranges.
RangeWidget
Widget for representing a continuous or a discrete set of ordered values.
RemainingRouteInfoControl
Navigator UI control that displays information about the remaining distance to the route finish and the remaining travel time.
Remover
Object to remove user content.
fun remove(): Future<ActionResult>
Deletes content.
Action is available for content authored by the user.
RenderedObject
Displayable map object.
RenderedObjectInfo
Detailed information about the displayable map object.
RenderedObjectInfo(
closestViewportPoint: ScreenPoint,
closestMapPoint: GeoPointWithElevation,
item: RenderedObject
)
Detailed information about the displayable map object.
Reviews
Reviews.
RoadCameraInfo
Camera information.
RoadCameraInfo(purposes: EnumSet<CameraPurpose>, speedLimit: Short?)
Camera information.
RoadEvent
Traffic event.
val type
Event type.
val name
Localized event name.
val author
Information about the user who added the event.
val timestamp
Timestamp of event creation.
val location
Event coordinates.
val description
Custom description of the traffic event.
val cameraInfo
Information about the camera.
Available for events of the "Camera" type only.
val schedule
Schedule.
Currently available for road blockings only, and may not even exist.
val lanes
Affected lanes.
Currently, can be set for custom events only.
val availableActions
List of available actions with the event.
val remover
Gets the object to delete the event.
RoadEventAction
Event action.
fun set(): Future<ActionResult>
Applies an action (for example, adds a "like", confirms an event).
There are opposite actions, such as "like" and "dislike". If both actions are available for an event, the method call resets the application of the opposite - it is impossible to put "like" and "dislike" at the same time.
fun reset(): Future<ActionResult>
Cancels an action (for example, restores the "like", resets confirmation of an event).
There are actions that are opposite of each other, for example "like" and "dislike". If both are available for an event action, calling the method does not cause the opposite action to be applied.
RoadEventActionButton
Action button for the traffic event (confirm, like, etc.).
RoadEventActionButton(model: RoadEventActionButtonModel, context: Context)
Action button for the traffic event (confirm, like, etc.).
val model
RoadEventActionInfo
Information about the action.
RoadEventActionInfo(state: RoadEventActionState, count: Int?)
Information about the action.
RoadEventCard
Card that displays information about a traffic event.
RoadEventCard(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
)
Card that displays information about a traffic event.
RoadEventCardModel
Traffic event card model.
RoadEventCardModel(
event: RoadEvent,
photoSize: StatefulChannel<ScreenSize>,
context: Context
)
Traffic event card model.
fun close(): Unit
val name
Name, e.g. "Closure".
val description
Description, e.g. "Road works".
val lanes
Affected lanes, e.g. "Left lane, middle lane".
val schedule
Schedule, for example, "October 10th 08:00 - October 15th 23:30".
val creationTime
Creation time, e.g. "5 hours ago", "August 5", "December 10, 2020".
val author
Author, for example, "2GIS".
val photoChannel
Photo.
val actionCompletedChannel
Notification about action completion.
val removeCompletedChannel
Notification about event deletion completion.
val actions
Actions.
RoadEventManager
Object for creating traffic events.
RoadEventManager(context: Context)
Gets an object for creating traffic events.
context
fun createAccident(
location: GeoPoint,
lanes: EnumSet<Lane>,
description: String
): Future<AddEventResult>
Creates an "Accident" event.
location
Event location.
lanes
Lanes of the road affected by the event.
description
Custom event description.
fun createCamera(location: GeoPoint, description: String): Future<AddEventResult>
Creates a "Camera" event.
location
Event location.
description
Custom event description.
fun createRoadRestriction(location: GeoPoint, description: String): Future<AddEventResult>
Creates a "Road closure" event.
location
Event location.
description
Custom event description.
fun createComment(location: GeoPoint, description: String): Future<AddEventResult>
Creates a "Comment" event.
location
Event location.
description
Custom event description.
fun createOther(
location: GeoPoint,
lanes: EnumSet<Lane>,
description: String
): Future<AddEventResult>
Creates an "Other" event.
location
Event location.
lanes
Lanes of the road affected by the event.
description
Custom event description.
fun createRoadWorks(
location: GeoPoint,
lanes: EnumSet<Lane>,
description: String
): Future<AddEventResult>
Creates a "Road works" event.
location
Event location.
lanes
Lanes of the road affected by the event.
description
Custom event description.
RoadEventMapObject
RoadEventPhoto
Photograph of a traffic event.
fun previewUrl(desiredSize: ScreenSize): String
Photo preview URL.
fun report(): Future<ActionResult>
Submits a complaint about a photo.
Complaining your photo will not be processed.
RoadEventRouteAttribute
Container that describes a point attribute of a route. Each element is stored as the point on the route (where the element is located) and the value of the element itself.
fun entries(begin: RoutePoint, end: RoutePoint): List<RoadEventRouteEntry>
Elements falling within the [begin, end) range.
fun findNearBackward(point: RoutePoint): RoadEventRouteEntry?
Finds the nearest element the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
fun findNearForward(point: RoutePoint): RoadEventRouteEntry?
Finds the nearest element the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
RoadEventRouteEntry
Route element - point and value in it.
RoadEventRouteEntry(point: RoutePoint, value: BriefRoadEvent)
Route element - point and value in it.
RoadEventSource
Interface of the class that controls the display of traffic events (tUGC) on the map.
RoadEventSource(context: Context)
Creates a source that displays traffic events on the map.
context
fun setHighlighted(directoryObjectIds: List<DgisObjectId>, highlighted: Boolean): Unit
directoryObjectIds
IDs of changeable events. Can be obtained from RoadEventMapObject.
highlighted
RoadMacroGraph
Global road graph package, used to build a passage between two loaded offline territories.
RoadRuleRouteLongAttribute
Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. Attribute action starts at this point and ends at the next point, at which the next element's attribute action begins.
fun entry(point: RoutePoint): RoadRuleRouteLongEntry?
Element that the specified point falls into.
fun entries(begin: RoutePoint, end: RoutePoint): List<RoadRuleRouteLongEntry>
Elements partially or completely covered by the begin,end range.
RoadRuleRouteLongEntry
Extended route element - segment and value on it.
RoadRuleRouteLongEntry(
point: RoutePoint,
length: RouteDistance,
value: RoadRule
)
Extended route element - segment and value on it.
RoadSubtypeRouteLongAttribute
Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. Attribute action starts at this point and ends at the next point, at which the next element's attribute action begins.
fun entry(point: RoutePoint): RoadSubtypeRouteLongEntry?
Element that the specified point falls into.
fun entries(begin: RoutePoint, end: RoutePoint): List<RoadSubtypeRouteLongEntry>
Elements partially or completely covered by the begin,end range.
RoadSubtypeRouteLongEntry
Extended route element - segment and value on it.
RoadSubtypeRouteLongEntry(
point: RoutePoint,
length: RouteDistance,
value: RoadSubtype
)
Extended route element - segment and value on it.
RoadSurfaceRouteLongAttribute
Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. Attribute action starts at this point and ends at the next point, at which the next element's attribute action begins.
fun entry(point: RoutePoint): RoadSurfaceRouteLongEntry?
Element that the specified point falls into.
fun entries(begin: RoutePoint, end: RoutePoint): List<RoadSurfaceRouteLongEntry>
Elements partially or completely covered by the begin,end range.
RoadSurfaceRouteLongEntry
Extended route element - segment and value on it.
RoadSurfaceRouteLongEntry(
point: RoutePoint,
length: RouteDistance,
value: RoadSurface
)
Extended route element - segment and value on it.
RoadTypeRouteLongAttribute
Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. Attribute action starts at this point and ends at the next point, at which the next element's attribute action begins.
fun entry(point: RoutePoint): RoadTypeRouteLongEntry?
Element that the specified point falls into.
fun entries(begin: RoutePoint, end: RoutePoint): List<RoadTypeRouteLongEntry>
Elements partially or completely covered by the begin,end range.
RoadTypeRouteLongEntry
Extended route element - segment and value on it.
RoadTypeRouteLongEntry(
point: RoutePoint,
length: RouteDistance,
value: RoadType
)
Extended route element - segment and value on it.
RotateMapToNorthEvent
RotationSettings
Settings for handling map rotation.
val angleDiffDeg
Angle change threshold, in degrees, after which it starts sending rotation messages. Used if scaling is inactive.
val distanceDiffMm
Threshold of mean radial shift of points, in millimeters, after which it starts sending rotation messages. Used if scaling is inactive.
val angleDiffInScalingDeg
Angle change threshold, in degrees, after which it starts sending rotation messages. Used if scaling is active.
val distanceDiffInScalingMm
Threshold of mean radial shift of points, in millimeters, after which it starts sending rotation messages. Used if scaling is active.
Route
Class that describes a route. A route is a set of attributes, each of which is a container of the RouteAttribute or the RouteLongAttribute type, which stores elements of route attributes. Route attributes are divided into point and length attributes. Point attributes (for example, geometry points or speed bumps) are specified as a pair of a RoutePoint and an attribute value. Long attributes (such as the width of a roadway or a speed limit) are specified as a pair of a RoutePoint specifying the beginning of the attribute's action and the attribute's value. A terminator is placed at the end of the route. For example, let the width of the roadway be given as a set of pairs {{0m, 3m}, {10m, 7m}, {20m, 5m}, {30m, 0m}}, then the first 10 meters of the route the carriageway has a width of 3 meters, at the interval [10m., 20m.) - 7m., from 20m. to the end of the route - 5m.
val geometry
Route geometry.
It is not guaranteed that the RoutePoint of geometry points will match the RoutePoint of other attribute elements, so to calculate the geographic coordinate of an attribute element, you do not need to search the geometry for an element RoutePoint of which matches the RoutePoint attribute element, calculate_geo_point should be used instead.
val instructions
Instructions to be followed on the route.
val intermediatePoints
Intermediate points through which the route passes. The route may not pass directly through the intermediate point, but near it. The attribute value stores the coordinate at which the intermediate point was set, the key contains the coordinate of the projection of the intermediate point onto the route.
val altitudes
Altitudes on the route.
val badRoads
Bad road (there are bumps and potholes on the road that impede the passage).
val obstacles
Obstacles on the route.
val roadNames
Road/street names.
val settlements
Sign that the route section passes through the settlement.
val transportTypes
Type of transport for which the route section is built.
val cameras
Road cameras.
val carriagewaysWidth
Width of the roadway in meters. 0 - width is unknown.
val exitSigns
Exit signs.
val humps
Speed bumps.
val lanes
Traffic lanes.
val levels
Floors of buildings.
val maxSpeedLimits
Maximum allowed speed limits.
0 - speed limit is unknown.
val roadRules
Side of traffic.
val roadSubtypes
Additional description for the road type where the route is built.
val roadSurfaces
Road paving.
val roadTypes
Type of road along which the route passes.
val tolls
Segments of the route that run along toll roads.
val truckData
Sign of the presence or absence of data for cargo navigation.
val truckPassZoneIds
Checkpoints for trucks.
val truckRestrictedAreas
Indication of the validity of the sign prohibiting of the trucks passage.
val vehicleRestrictedAreas
Indication of the validity of the sign prohibiting the passage of any vehicles (overlapping).
val bicycleLanes
Indication of the presence of a dedicated cycle lane.
val trafficLights
Indication of the presence of traffic lights.
val publicTransportTransfers
Description of ways to travel between transfer points by public transport.
RouteBuildOptions
Structure that describes parameters for building a route in the navigator.
RouteCamera
Structure describing a traffic camera.
RouteCamera(
purposes: EnumSet<RouteCameraPurpose>,
rangeAgainst: RouteDistance,
rangeAlong: RouteDistance,
direction: RouteCameraDirection = RouteCameraDirection.AGAINST
)
Structure describing a traffic camera.
purposes
rangeAgainst
rangeAlong
direction
RouteDistance
Distance along the route.
fun absoluteValue(): RouteDistance
operator fun plus(other: RouteDistance): RouteDistance
operator fun minus(other: RouteDistance): RouteDistance
RouteEditor
Interface for the route editor. The route editor obtains the starting and the finish points of the route, builds routes, and notifies about their updates and rebuilds via channels.
All methods of this interface are called from a single thread.
fun setRouteParams(routeParams: RouteEditorRouteParams): Unit
Sets route editor parameters. Starts searching for a new route according to the given parameters.
fun setActiveRouteIndex(index: RouteIndex): Unit
Sets the active route index.
val routesInfoChannel
Channel through which you can monitor updates about the routes operated by the editor.
val routesInfo
Channel through which you can monitor updates about the routes operated by the editor.
val activeRouteIndexChannel
Channel through which you can monitor the active route index updates. If there are no routes, null is placed in this channel.
val activeRouteIndex
Channel through which you can monitor the active route index updates. If there are no routes, null is placed in this channel.
RouteEditorRouteParams
Information about route parameters.
RouteEditorRouteParams(
startPoint: RouteSearchPoint,
finishPoint: RouteSearchPoint,
routeSearchOptions: RouteSearchOptions,
intermediatePoints: List<RouteSearchPoint> = listOf()
)
Information about route parameters.
startPoint
finishPoint
routeSearchOptions
intermediatePoints
RouteEditorRoutesInfo
Information about routes operated by the editor.
RouteEditorRoutesInfo(routes: List<TrafficRoute>, routeParams: RouteEditorRouteParams)
Information about routes operated by the editor.
RouteEditorSource
Interface of the class that controls the display of routes on the map.
RouteEditorSource(
context: Context,
routeEditor: RouteEditor,
activeDisplayFlags: EnumSet?<RouteMapObjectDisplayFlag> = null,
inactiveDisplayFlags: EnumSet?<RouteMapObjectDisplayFlag> = null,
activeCalloutLabelFlags: EnumSet?<RouteMapObjectCalloutLabelFlag> = null,
inactiveCalloutLabelFlags: EnumSet?<RouteMapObjectCalloutLabelFlag> = null,
calloutLabelDisplayMode: RouteMapObjectCalloutLabelDisplayMode = RouteMapObjectCalloutLabelDisplayMode.ABSOLUTE_VALUES,
activePermanentDisplayFlags: EnumSet?<RouteMapObjectPermanentDisplayFlag> = null,
inactivePermanentDisplayFlags: EnumSet?<RouteMapObjectPermanentDisplayFlag> = null
)
Function to create IRouteEditorSource.
context
routeEditor
activeDisplayFlags
inactiveDisplayFlags
activeCalloutLabelFlags
inactiveCalloutLabelFlags
calloutLabelDisplayMode
activePermanentDisplayFlags
inactivePermanentDisplayFlags
fun setRoutesVisible(visible: Boolean): Unit
Enables or disables the routes display on the map.
fun setShowOnlyActiveRoute(showOnlyActiveRoute: Boolean): Unit
Shows all routes on the map (false) or only the current active route (true).
fun setPassedDistanceVisualization(passedDistanceVisualization: RouteMapObjectPassedDistanceVisualization): Unit
Changes the method of visualizing the distance traveled along a route.
val objects
Route objects on the map.
val routeSourceSettings
Settings for displaying maneuvers on the route.
var activeDisplayFlags
Display flags for the active route. See IRouteMapObject::display_flags.
var inactiveDisplayFlags
Display flags for inactive routes. See IRouteMapObject::display_flags.
var activeCalloutLabelFlags
Flags enabling the display of content in callouts for active routes. See IRouteMapObject::callout_label_flags.
var inactiveCalloutLabelFlags
Flags enabling the display of content in callouts for inactive routes. See IRouteMapObject::callout_label_flags.
var calloutLabelDisplayMode
Display mode for values in route callouts. See IRouteMapObject::callout_label_display_mode.
var activePermanentDisplayFlags
Flags excluding the hiding of components of the active route from the map. See IRouteMapObject::permanent_display_flags.
var inactivePermanentDisplayFlags
Flags excluding the hiding of components of inactive routes from the map. See IRouteMapObject::permanent_display_flags.
RouteExitSign
Information about the exit sign.
RouteExitSign(
type: RouteExitSignType = RouteExitSignType.UNDEFINED,
roadNameTable: RouteExitSignTable,
roadNumberTable: RouteExitSignTable?
)
Information about the exit sign.
RouteExitSignRouteAttribute
Container that describes a point attribute of a route. Each element is stored as the point on the route (where the element is located) and the value of the element itself.
fun entries(begin: RoutePoint, end: RoutePoint): List<RouteExitSignRouteEntry>
Elements falling within the [begin, end) range.
fun findNearBackward(point: RoutePoint): RouteExitSignRouteEntry?
Finds the nearest element the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
fun findNearForward(point: RoutePoint): RouteExitSignRouteEntry?
Finds the nearest element the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
RouteExitSignRouteEntry
Route element - point and value in it.
RouteExitSignRouteEntry(point: RoutePoint, value: RouteExitSign)
Route element - point and value in it.
RouteExitSignTable
Information about the exit plate.
RouteExitSignTable(backgroundColor: RouteExitSignTableColor = RouteExitSignTableColor.UNDEFINED, text: String)
Information about the exit plate.
RouteIndex
Active route index.
RouteInfo
Route description with maneuvers.
val route
Route.
val routeBuildOptions
Route building parameters in the navigator. A null value means that the route has no finish point. In this case, based on the road graph and user movement parameters, a section of the road on which the user is likely to move is calculated and returned as a route in the route field. Therefore, such a "route" cannot contain instructions, and the last point in this "route" is not a destination where the user is moving to, but just a point where the navigator managed to predict the user's movement. Where they will go next is unknown. This navigation mode is called free roam.
RouteInfoCalloutMapObject
Callout object with information about the length and/or duration of the route on the map.
RouteInstruction
Instruction to follow while moving along the route.
RouteInstruction(
roadName: String,
range: RouteDistance,
extraInstructionInfo: ExtraInstructionInfo
)
Instruction to follow while moving along the route.
RouteLane
Structure describing one traffic lane.
RouteLane(
routeManeuver: RouteLaneManeuver = RouteLaneManeuver.UNDEFINED,
maneuvers: EnumSet<RouteLaneManeuver>,
speedLimit: Float = 0.0f,
prohibited: Boolean = false,
onlyPublicTransport: Boolean = false
)
Structure describing one traffic lane.
routeManeuver
maneuvers
speedLimit
prohibited
onlyPublicTransport
RouteLaneSign
Description of traffic lanes.
RouteLaneSign(
lanes: List<RouteLane>,
signStartPoint: RoutePoint?,
signPoint: RoutePoint?,
signEndPoint: RoutePoint?
)
Description of traffic lanes.
val lanes
Car lanes on a road section. Ordered from the edge to middle of roadgeway.
If the number of lanes is unknown, or there is one lane on the road in the direction of the route, this array is empty.
val signStartPoint
Point on the route where the operation of the sign regulating lane traffic begins. null if the position of the sign operation start is unknown.
val signPoint
Point on the route where the sign regulating lane traffic is placed. null if the position of the sign is unknown.
val signEndPoint
Point on the route where the operation of the sign regulating lane traffic ends. null if the position the sign operation end is unknown.
RouteLevelInfo
Information about the floor of the building corresponding to the route section.
val beginId
Identifier of the floor plan at the starting point of the route segment. None if the point is not in a building.
val endId
Identifier of the floor plan at the finish point of the route segment. None if the point is not in a building.
val name
Name of the floor. Empty if the route segment connects different floors.
RouteLevelInfoRouteLongAttribute
Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. Attribute action starts at this point and ends at the next point, at which the next element's attribute action begins.
fun entry(point: RoutePoint): RouteLevelInfoRouteLongEntry?
Element that the specified point falls into.
fun entries(begin: RoutePoint, end: RoutePoint): List<RouteLevelInfoRouteLongEntry>
Elements partially or completely covered by the begin,end range.
RouteLevelInfoRouteLongEntry
Extended route element - segment and value on it.
RouteLevelInfoRouteLongEntry(
point: RoutePoint,
length: RouteDistance,
value: RouteLevelInfo
)
Extended route element - segment and value on it.
RouteMapObject
Route object on the map.
RouteMapObject(
trafficRoute: TrafficRoute,
isActive: Boolean,
index: RouteIndex,
displayFlags: EnumSet?<RouteMapObjectDisplayFlag> = null,
calloutLabelFlags: EnumSet?<RouteMapObjectCalloutLabelFlag> = null,
calloutLabelDisplayMode: RouteMapObjectCalloutLabelDisplayMode = RouteMapObjectCalloutLabelDisplayMode.ABSOLUTE_VALUES,
permanentDisplayFlags: EnumSet?<RouteMapObjectPermanentDisplayFlag> = null
)
trafficRoute
isActive
index
displayFlags
calloutLabelFlags
calloutLabelDisplayMode
permanentDisplayFlags
val displayFlagsChannel
Set of flags to display various parts of the route. If not specified, display logic based on the activity status of the route is used.
var displayFlags
Set of flags to display various parts of the route. If not specified, display logic based on the activity status of the route is used.
val permanentDisplayFlagsChannel
Set of flags to prevent various parts of the route from being hidden from the map when updating the distance traveled along the route. If not specified, then when updating the distance traveled along the route, all route elements that fall into the undisplayed part of the route are hidden from the map.
var permanentDisplayFlags
Set of flags to prevent various parts of the route from being hidden from the map when updating the distance traveled along the route. If not specified, then when updating the distance traveled along the route, all route elements that fall into the undisplayed part of the route are hidden from the map.
val isActiveChannel
Route activity status.
var isActive
Route activity status.
val route
Route.
val routeIndex
Route index in the route editor.
val passedDistanceChannel
Distance traveled along the route.
var passedDistance
Distance traveled along the route.
val passedDistanceVisualizationChannel
var passedDistanceVisualization
val calloutPositionChannel
Route callout position.
val calloutPosition
Route callout position.
val calloutLabelFlagsChannel
Set of flags for displaying the contents of the route callouts. If not specified, both the time of movement along the route and its length are displayed for the active route, and only the time of movement for inactive routes.
var calloutLabelFlags
Set of flags for displaying the contents of the route callouts. If not specified, both the time of movement along the route and its length are displayed for the active route, and only the time of movement for inactive routes.
val calloutLabelDisplayModeChannel
Mode for displaying values in route callouts. By default, values are displayed as absolute values.
var calloutLabelDisplayMode
Mode for displaying values in route callouts. By default, values are displayed as absolute values.
val lanesCalloutPositionsChannel
Lane callout positions. Only relevant positions are returned for the current distance traveled along the route, and only if the source where the object is placed is in navigation mode.
val lanesCalloutPositions
Lane callout positions. Only relevant positions are returned for the current distance traveled along the route, and only if the source where the object is placed is in navigation mode.
RouteMapObjectSource
Source of route objects on the map.
RouteMapObjectSource(context: Context, routeVisualizationType: RouteVisualizationType = RouteVisualizationType.NORMAL)
Function to create IRouteMapObjectSource.
fun addObject(item: RouteMapObject): Unit
Adds a route object to the source.
fun removeObject(item: RouteMapObject): Unit
Removes the route object from the source.
fun replaceObject(oldObject: RouteMapObject, newObject: RouteMapObject): Unit
Replacing one route object in the source with another. Unlike deleting and adding route objects through successive calls to remove_object and add_object, replacing one route to another is executed atomically - the old route is deleted and a new one appears on the map at the same time.
If the old route is not found in the source, then the call is equivalent to calling add_object.
fun replaceAllObjects(objects: List<RouteMapObject>): Unit
Replaces all objects previously added to the source with the passed list of objects. In contrast to deleting and adding objects one at a time, the replacement is performed atomically - old routes are deleted, and new routes appear on the map at the same time.
RouteMapSettings
Settings for displaying the route on the map.
var onRouteDisplayFlags
Flags for displaying the route on the map for the route navigation mode. By default, all flags are enabled except for the InactiveFloors flag.
var freeRoamDisplayFlags
Flags for displaying the route on the map for the free roam mode. The flags Cameras, Humps, Accidents, RoadWorks, Comments, RoadRestrictions, OtherEvents are enabled by default.
var onRoutePermanentDisplayFlags
Flags to prevent hiding various parts of the route from the map when updating the distance traveled along the route for route navigation mode. By default, all route elements are hidden.
var freeRoamPermanentDisplayFlags
Flags that prevent hiding various parts of the route from the map when updating the distance traveled along the route for free roam mode. By default, all route elements are hidden.
RouteOverviewControl
RoutePoint
Point on the route, specified as the distance along the route relatively to the beginning of the route.
RoutePoint(distance: RouteDistance)
Point on the route, specified as the distance along the route relatively to the beginning of the route.
distance
operator fun plus(distance: RouteDistance): RoutePoint
operator fun minus(distance: RouteDistance): RoutePoint
val distance
RoutePointMapObject
Feature that is part of a route on the map (for example, the starting or the finish point of a route).
val route
Route, the part of which the given feature represents.
val routeIndex
Route index.
val kind
Route feature type.
val routePoint
Position on the route corresponding to the given feature.
val pointChannel
Geographic coordinates at which this feature is located.
var point
Geographic coordinates at which this feature is located.
RouteSearchOptions
Route search options.
RouteSearchOptions(pedestrian: PedestrianRouteSearchOptions)
pedestrian
RouteSearchOptions(publicTransport: PublicTransportRouteSearchOptions)
publicTransport
fun match(
bicycle: Function1,
car: Function1,
pedestrian: Function1,
publicTransport: Function1,
scooter: Function1,
taxi: Function1,
truck: Function1
): T
bicycle
car
pedestrian
publicTransport
scooter
taxi
truck
fun toString(): String
fun hashCode(): Int
RouteSearchPoint
Description of the points by which the route is built.
RouteSearchPoint(
coordinates: GeoPoint,
course: Bearing? = null,
objectId: DgisObjectId = DgisObjectId(objectId = 0, entranceId = 0),
levelId: LevelId? = null
)
Description of the points by which the route is built.
RouteSourceSettings
Route source settings.
fun getLargeScaleMergeDistanceMeters(transportType: TransportType): Float
Minimum allowable distance in meters between successive maneuver arrows for a large scale. If the distance is less than the specified one, then the arrows are merged.
fun setLargeScaleMergeDistanceMeters(distance: Float, transportType: TransportType): Unit
Sets the minimum allowed distance in meters between successive maneuver arrows for large scale.
distance
Distance in meters.
transportType
Type of transport for which the distance is set.
fun getSmallScaleMergeDistanceMeters(transportType: TransportType): Float
Minimum allowable distance in meters between successive maneuver arrows for a small scaling. If the distance is less than the specified one, the arrows are merged.
fun setSmallScaleMergeDistanceMeters(distance: Float, transportType: TransportType): Unit
Sets the minimum allowable distance in meters between successive maneuver arrows for small scaling.
distance
Distance in meters.
transportType
Type of transport for which the distance is set.
fun getLargeScaleCrossroadsOffsetMeters(transportType: TransportType): Float
Offset in meters from the intersection point to the start and end of the large scale maneuver arrow.
fun setLargeScaleCrossroadsOffsetMeters(offset: Float, transportType: TransportType): Unit
Sets the offset in meters from the intersection point to the start and end of the maneuver arrow for the large scale. Allows you to set the size of the maneuver arrow.
offset
Offset in meters.
transportType
Transport type for which the offset is set.
fun getSmallScaleCrossroadsOffsetMeters(transportType: TransportType): Float
Offset from the intersection point to the start and end of the maneuver arrow for the small scale.
fun setSmallScaleCrossroadsOffsetMeters(offset: Float, transportType: TransportType): Unit
Sets the offset from the intersection point to the start and end of the maneuver arrow for the small scale. Allows you to set the size of the maneuver arrow.
offset
Offset in meters.
transportType
Transport type for which the offset is set.
var largeScaleRingroadOffsetMeters
Offset from the roundabout exit point to the start and end of the maneuver arrow for large scale. Allows you to set the size of the maneuver arrow.
var smallScaleRingroadOffsetMeters
Offset from the roundabout 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
Mode for displaying callouts with time and route length.
RubricId
Identifier of the rubric.
ScaleMapEvent
Map scale change event.
ScaleMapEvent(zoomDelta: Float, scalingCenter: ScreenPoint? = null)
Zoom event constructor.
zoomDelta
Value by which the current zoom value changes.
scalingCenter
Point on the screen around which the map is scaled. If no point is given, then scaling is relative to the map's position point.
ScalingSettings
val scaleRatioThreshold
Scaling factor threshold at which a scaling event is sent. Used if rotation is inactive. The multiplier must be out of bounds (1 / scale_ratio_threshold, scale_ratio_threshold).
val scaleRatioThresholdInRotation
Scaling factor threshold at which scaling messages is sent. Used if rotation is active. The multiplier must be out of bounds (1 / scale_ratio_threshold_in_rotation, scale_ratio_threshold_in_rotation).
Schedule
Traffic event schedule.
Schedule(
startTime: TimePoint?,
finishTime: TimePoint?,
weekTimeIntervals: List<WeekTimeInterval>
)
Traffic event schedule.
ScooterBriefRouteInfo
Basic information about the scooter route.
ScooterBriefRouteInfo(length: RouteDistance, landmark: String)
Basic information about the scooter route.
ScooterInstructionCrossroad
Description of maneuvers when passing through an intersection or a pedestrian crossing.
ScooterInstructionCrossroad(landmark: ScooterInstructionCrossroadLandmark = ScooterInstructionCrossroadLandmark.NONE, maneuvers: List<ScooterInstructionCrossroadManeuver>)
Description of maneuvers when passing through an intersection or a pedestrian crossing.
ScooterInstructionCrossroadManeuver
ScooterInstructionCrossroadManeuver(direction: ScooterInstructionCrossroadManeuverDirection = ScooterInstructionCrossroadManeuverDirection.STRAIGHT, turnAngle: Int = 0)
ScooterInstructionFinish
End of the scooter part of the route.
ScooterInstructionFinish()
End of the scooter part of the route.
ScooterInstructionStart
Beginning of the scooter part of the route.
ScooterInstructionStart()
Beginning of the scooter part of the route.
ScooterRouteSearchOptions
Scooter route search options.
ScooterRouteSearchOptions(
avoidCarRoads: Boolean = true,
avoidStairways: Boolean = true,
avoidUnderpassesAndOverpasses: Boolean = true,
excludedAreas: List<ExcludedArea> = listOf()
)
Scooter route search options.
avoidCarRoads
avoidStairways
avoidUnderpassesAndOverpasses
excludedAreas
ScreenDistance
Distance between objects on the screen in millimeters.
Cannot be negative.
ScreenDistance(value: Float = 0.0f)
Distance between objects on the screen in millimeters.
Cannot be negative.
value
ScreenPoint
Point in screen coordinates.
Directions of axes: x - rightwards, y - downwards. (0.0, 0.0) - the upper-left corner of the upper-left pixel. The integer part of the coordinate is the pixel number, the fractional part is the relative position within the pixel.
ScreenPoint(x: Float = 0.0f, y: Float = 0.0f)
Point in screen coordinates.
Directions of axes: x - rightwards, y - downwards. (0.0, 0.0) - the upper-left corner of the upper-left pixel. The integer part of the coordinate is the pixel number, the fractional part is the relative position within the pixel.
ScreenShift
Horizontal and vertical shift of the map in the coordinate space of the screen.
Positive shift direction: dx - to the right, dy - down.
ScreenSize
Size in pixels.
SearchLayout
UI control that provides a search bar and displays search results.
fun onAttachedToWindow(): Unit
fun onDetachedFromWindow(): Unit
fun addSearchViewCallback(callback: SearchViewCallback): Unit
Adds SearchViewCallback to respond to different states and work results of the search and the suggester.
fun configureSearchEngine(block: Function1): Unit
Configures the work of the search and the suggester. Methods of the SearchViewConfigurator interface are available inside the block.
fun hideResults(): Unit
Hides the UI of the search results and leaves only the search string. Method works only for the current query, when it is updated and new results appear, the output will be displayed again.
SearchManager
Search engine. Main entry point for the directory API.
fun suggest(query: SuggestQuery): Future<SuggestResult>
Gets suggestions matching the given query.
query
Future that resolves to a non-null pointer to the result of suggestion or exceptional future if an error occurred while getting suggestions.
fun search(query: SearchQuery): Future<SearchResult>
Gets directory objects matching the given query.
query
Future that resolves to a non-null pointer to the search result or exceptional future if an error occurred while getting the search results.
fun searchById(id: String): Future<DirectoryObject?>
Gets the directory object by string identifier.
id
Future that resolves to a pointer to a reference object. If the object is not found, a null pointer is returned.
fun searchByDirectoryObjectId(objectId: DgisObjectId): Future<DirectoryObject?>
Gets the directory object by identifier.
objectId
Future that resolves to a pointer to a reference object. If the object is not found, a null pointer is returned.
@JvmStatic
fun createOnlineManager(context: Context): SearchManager
Creates an online search engine.
@JvmStatic
fun createOfflineManager(context: Context): SearchManager
Creates a search engine that works with preloaded data.
@JvmStatic
fun createSmartManager(context: Context): SearchManager
Creates a search engine that works online or with preloaded data depending on the presence of Internet connection.
SearchOptions
Options for creating SearchLayout.
SearchOptions(
searchType: SearchType = SearchType.defaultSearchType,
pageSize: Int = defaultPageSize,
sortingType: SortingType = SortingType.BY_RELEVANCE,
suggestorType: SuggestorType = SuggestorType.GENERAL
)
Options for creating SearchLayout.
val searchType
Search engine type. Possible values depend on the SDK delivery type. See SearchType for details. The default value depends on the SDK delivery type.
val pageSize
Limit on the number of hints in suggest and of search results. Valid values range from 1 to 50. Default: 10.
val sortingType
Search results sorting type. Default: SortingType.BY_RELEVANCE.
val suggestorType
Suggester type. Default: SuggestorType.GENERAL
SearchQuery
Search query.
SearchQueryBuilder
Search query builder. The search is performed on the global index and local segment indexes, where a segment is a subdivision of the global map. The process of selecting segments for search is done as follows (in descending priority order):
This condition is not working yet.
fun setSpatialRestriction(spatialRestriction: List?<GeoPoint>): SearchQueryBuilder
Sets the search area limit in the form of a polygon. The first and the last points of the polygon do not have to match.
No limit by default.
fun setAreaOfInterest(rect: GeoRect?): SearchQueryBuilder
Sets a rectangular region of interest in geographic coordinates. A typical value is visible_rect from ICamera - the enclosing rectangle of the viewport.
fun setAllowedResultTypes(allowedResultTypes: List<ObjectType>): SearchQueryBuilder
Sets the object types allowed in the query result.
By default, all types except Route are allowed.
fun setPageSize(pageSize: Int): SearchQueryBuilder
Sets the preferred number of elements on the results page. Valid values are 1;50
. The default value is 10.
fun setDirectoryFilter(filter: DirectoryFilter): SearchQueryBuilder
Sets filtering for the search query.
fun setSortingType(sortingType: SortingType): SearchQueryBuilder
Sets sorting for the search query.
@JvmStatic
fun fromQueryText(queryText: String): SearchQueryBuilder
Starts building a text search query with the specified text.
@JvmStatic
fun fromRubricIds(rubricIds: List<RubricId>): SearchQueryBuilder
Starts building a search query based on the rubric identifiers.
@JvmStatic
fun fromQueryTextAndRubricIds(queryText: String, rubricIds: List<RubricId>): SearchQueryBuilder
Starts building a text search query with filtering by rubric identifiers.
@JvmStatic
fun fromQuery(query: SearchQuery): SearchQueryBuilder
Starts building a query based on #query to change some of the parameters.
The original #query remains unchanged.
SearchResult
Result of the search engine work.
fun markerTitles(objectIds: List<DgisObjectId>): List<Future<List<UIMarkerInfo>>>
Gets texts of markers by their IDs.
A vector
val firstPage
First page of search results.
val representativeArea
Rectangular area suitable for displaying search results.
val itemMarkerInfos
Asynchronous receiving of markers.
val searchResultType
Search query type.
val dynamicFilters
Dynamic filters for this query.
val actionWidgets
Quick filter widgets.
These are the so-called “quick filters” - filters that are most interesting to the user. There are no more than 5.
val mainWidgets
Filter widgets.
val autoUseFirstResult
Indicates that the first result is suitable for direct use.
SegmentGeoPoint
Describes a geographic point on a segment and the direction of the segment. The geometry of the route is a sequence of points that form segments pairwise. In all functions that work with the geometry of the route, it is assumed that the first point from the pair forming the segment belongs to this segment, and the second one does not: [point_1, point_2),[point_2, point_3),...,[point_n-1, point_n)point_last. The last point forms a zero-length segment with itself. Thus, each point on the route belongs to exactly one segment. The direction of the point_last is not defined.
SegmentGeoPoint(point: GeoPoint, bearing: Bearing)
Describes a geographic point on a segment and the direction of the segment. The geometry of the route is a sequence of points that form segments pairwise. In all functions that work with the geometry of the route, it is assumed that the first point from the pair forming the segment belongs to this segment, and the second one does not: [point_1, point_2),[point_2, point_3),...,[point_n-1, point_n)point_last. The last point forms a zero-length segment with itself. Thus, each point on the route belongs to exactly one segment. The direction of the point_last is not defined.
SettlementRouteLongAttribute
Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. Attribute action starts at this point and ends at the next point, at which the next element's attribute action begins.
fun entry(point: RoutePoint): SettlementRouteLongEntry?
Element that the specified point falls into.
fun entries(begin: RoutePoint, end: RoutePoint): List<SettlementRouteLongEntry>
Elements partially or completely covered by the begin,end range.
SettlementRouteLongEntry
Extended route element - segment and value on it.
SettlementRouteLongEntry(
point: RoutePoint,
length: RouteDistance,
value: Settlement
)
Extended route element - segment and value on it.
ShowRouteControl
A control that controls the map flyover to the route.
SimpleCheckableItem
Simple checkable element from CheckableItemsGroup.
SimpleClusterObject
Cluster of simple marker objects.
val position
Gets the position of the cluster on the map.
val objectCount
Gets the number of markers in the cluster.
val objects
Gets a list of markers in the cluster.
var anchor
Gets and sets the anchor point of the cluster icon.
var iconOpacity
Gets and sets the transparency of the cluster icon.
var text
Gets and sets cluster caption.
var textStyle
Gets and sets the cluster caption style.
var iconWidth
Gets and sets the target cluster width used for scaling.
var iconMapDirection
Gets and sets the rotation angle of the cluster on the map relative to the north direction, clockwise.
var animatedAppearance
Gets and sets the cluster appearance animation flag.
var zIndex
Gets and sets the rendering level of an object.
SimpleClusterOptions
Marker settings for a cluster of simple marker objects.
SimpleClusterOptions(
icon: Image?,
iconMapDirection: MapDirection? = null,
anchor: Anchor = Anchor(x = 0.5f, y = 0.5f),
text: String? = null,
textStyle: TextStyle? = null,
iconOpacity: Opacity = Opacity(value = 1.0f),
iconWidth: LogicalPixel = LogicalPixel(value = 0.0f),
userData: Any? = null,
zIndex: ZIndex = ZIndex(value = 0),
animatedAppearance: Boolean = true,
iconAnimationMode: AnimationMode = AnimationMode.NORMAL
)
Marker settings for a cluster of simple marker objects.
icon
iconMapDirection
anchor
text
textStyle
iconOpacity
iconWidth
userData
zIndex
animatedAppearance
iconAnimationMode
SimpleMapObject
Object on the map for which visibility can be set.
SimulationAutoWithOverSpeed
Structure for setting the motion mode, taking into account the maximum speed on the edge of the route.
SimulationConstantSpeed
Structure for setting the motion mode at a constant speed
SimulationSettings
Settings for simulation of navigating the route.
var speedMode
Simulator operation mode.
SimulationSpeedMode
SnapToMapLayout
Layout that allows you to bind the View to a point on the map.
SnapToMapLayout(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
)
Layout that allows you to bind the View to a point on the map.
fun onAttachedToWindow(): Unit
fun onDetachedFromWindow(): Unit
fun onLayout(
changed: Boolean,
left: Int,
top: Int,
right: Int,
bottom: Int
): Unit
fun generateLayoutParams(attrs: AttributeSet?): LayoutParams?
fun generateLayoutParams(p: LayoutParams?): LayoutParams?
SortingFilter
Sorting filter.
SoundNotificationSettings
Settings for sound alerts in the navigator. By default, all values of the alert sound categories are enabled. The user can change the values while working with the navigator.
Source
Data source for the map.
This can be a source of traffic data, routes, markers, arbitrary geometric or other map objects. Any map object can have its own properties. The object properties affect which rules and display parameters, described in map styles, are applied to it. Style is a set of parameters and rules for displaying map objects, obtained through the style editor and used for rendering the map.
The object properties can be set:
- directly for the object;
- for the data source (all objects added to the source obtain these properties);
- for the map (all objects added to the map obtain these properties);
- for the style (all objects to which the style is applied obtain these properties). The list is presented in descending order of priority for applying properties. Even if no data sources are added to the map, the style and map properties still affect the map, since there are special displayable objects such as background.
SpecialSpace
Special parking spot.
SpecialSpace(
type: SpecialSpaceType,
name: String,
count: String?
)
Special parking spot.
SpeedInfoControl
SpeedRange
Speed interval. Speed is specified in meters per second.
SpeedRangeToStyleZoom
Mapping of a speed interval to a style zoom.
StringRouteLongAttribute
Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. Attribute action starts at this point and ends at the next point, at which the next element's attribute action begins.
fun entry(point: RoutePoint): StringRouteLongEntry?
Element that the specified point falls into.
fun entries(begin: RoutePoint, end: RoutePoint): List<StringRouteLongEntry>
Elements partially or completely covered by the begin,end range.
StringRouteLongEntry
Extended route element - segment and value on it.
StringRouteLongEntry(
point: RoutePoint,
length: RouteDistance,
value: String
)
Extended route element - segment and value on it.
Style
Style with a set of map object properties (see ISource).
val styleAttributes
Gets default properties for objects that have the specified layer applied to them.
StyleBuilder
Style builder.
fun setStyleAttribute(name: String, value: AttributeValue): StyleBuilder
StyleLayerId
ID of the style layer.
StyleZoom
Style zoom level.
It is set in the style editor and differs from the usual zoom level in that for one StyleZoom the map scale is the same regardless of latitude. However, with Zoom < 9 or with latitude > 60 degrees StyleZoom == Zoom and map scale is different at different latitudes.
StyleZoom cannot be negative.
StyleZoom(value: Float = 0.0f)
Style zoom level.
It is set in the style editor and differs from the usual zoom level in that for one StyleZoom the map scale is the same regardless of latitude. However, with Zoom < 9 or with latitude > 60 degrees StyleZoom == Zoom and map scale is different at different latitudes.
StyleZoom cannot be negative.
value
StyleZoomFollowController
Controller for following the style zoom level of the map.
StyleZoomFollowController(animationDuration: Duration = Duration.ofMilliseconds(300))
Creates a controller for following the style zoom level of the map.
animationDuration
fun setStyleZoom(styleZoom: StyleZoom): Unit
Sets a new value for the style zoom level.
Suggest
Search suggestion.
SuggestHandler
Suggestion selection handler.
SuggestHandler(performSearchHandler: PerformSearchHandler?)
performSearchHandler
SuggestHandler(incompleteTextHandler: IncompleteTextHandler?)
incompleteTextHandler
fun match(
objectHandler: Function1,
performSearchHandler: Function1,
incompleteTextHandler: Function1
): T
objectHandler
performSearchHandler
incompleteTextHandler
fun toString(): String
fun hashCode(): Int
SuggestObjectHandler
Specific object from a directory is suggested.
val item
Suggested object.
SuggestQuery
Request a search suggestion.
SuggestQueryBuilder
Builder of queries to the suggestor.
fun setSpatialRestriction(spatialRestriction: List?<GeoPoint>): SuggestQueryBuilder
Sets the search area limit in the form of a polygon. The first and the last points of the polygon do not have to match.
No limit by default
fun setAreaOfInterest(rect: GeoRect?): SuggestQueryBuilder
Sets a rectangular region of interest in geographic coordinates. A typical value is visible_rect from ICamera - the enclosing rectangle of the viewport.
fun setAllowedResultTypes(allowedResultTypes: List<SuggestedType>): SuggestQueryBuilder
Sets the object types allowed in the query result.
By default, all types except Route are allowed.
fun setSuggestorType(suggestorType: SuggestorType): SuggestQueryBuilder
Sets the type of suggester.
The default value is #SuggestorType::General.
fun setLimit(limit: Int): SuggestQueryBuilder
Sets the desired number of suggestions. Valid values are from the range 1;50.
The default value is 10.
@JvmStatic
fun fromQueryText(queryText: String): SuggestQueryBuilder
Starts building a suggestion query for the given text and the area of interest.
@JvmStatic
fun fromQuery(query: SuggestQuery): SuggestQueryBuilder
Starts building a suggestion query based on #query to change some of the parameters.
The original #query remains unchanged.
SuggestResult
Result of the suggester work.
val suggests
Set of suggestions.
The set is empty if no matching suggestions are found.
SystemCertificate
System SSL certificate.
SystemCertificate()
System SSL certificate.
SystemMemoryManager
Interface of the system memory management.
fun reduceMemoryUsage(): Unit
Memory usage decrease by clearing various caches and buffers.
TaxiRouteSearchOptions
Taxi route search options.
TaxiRouteSearchOptions(car: CarRouteSearchOptions)
Taxi route search options.
val car
Route search options common to other car routes.
TerritoriesAlongRouteProvider
Interface for finding a route based on traffic data.
fun getTerritories(route: Route): Future<List<Territory>>
Returns the minimum required list of offline territories in route order.
Territory
Territory. Data in 2GIS is divided into some indivisible units called segments. For more convenient and flexible work with data, not segments themselves are used for updating, but their sets, called territories. Sets of segments in two territories can intersect, including that one territory may be entirely nested within another.
TerritoryManager
Interface for interacting with the list of territories: Subscriptions to changes in information about territories; Search for territories by coordinates and geometries; Subscriptions to changes in information about the overall progress of installing/updating territories; Pausing and resuming the process of installing/updating territories.
val territoriesChannel
Channel with a list of all known territories. Updated when information about at least one of the territories or the list composition changes. The channel's contents is a subset of the general package list obtained from IPackageManager::packages. To avoid desynchronization of package descriptions, do not use data obtained simultaneously from multiple channels containing subsets of the general package list.
val territories
Channel with a list of all known territories. Updated when information about at least one of the territories or the list composition changes. The channel's contents is a subset of the general package list obtained from IPackageManager::packages. To avoid desynchronization of package descriptions, do not use data obtained simultaneously from multiple channels containing subsets of the general package list.
TextStyle
Text appearance settings.
TextStyle(
fontSize: LogicalPixel = LogicalPixel(value = 8.0f),
color: Color = Color(),
strokeWidth: LogicalPixel = LogicalPixel(value = 0.34999999f),
strokeColor: Color = Color(argb = 4294967295.toInt()),
textPlacement: TextPlacement = TextPlacement.BOTTOM_CENTER,
textOffset: LogicalPixel = LogicalPixel(value = 0.0f),
fontName: String? = null
)
Text appearance settings.
fontSize
color
strokeWidth
strokeColor
textPlacement
textOffset
fontName
Tilt
Tilt angle in degrees, where 0 is nadir (looking vertically down), 90 is horizon in front.
Values in the range of 0 to 60 degrees are allowed. In cases where the camera position point is closer to the bottom of the screen, the value may be additionally reduced.
Tilt(value: Float = 0.0f)
Tilt angle in degrees, where 0 is nadir (looking vertically down), 90 is horizon in front.
Values in the range of 0 to 60 degrees are allowed. In cases where the camera position point is closer to the bottom of the screen, the value may be additionally reduced.
value
TiltFollowController
Controller for following the tilt angle of the map.
TiltFollowController(styleZoomToTilt: StyleZoomToTiltRelation)
Creating a map angle tracking controller.
styleZoomToTilt
Dependence of the camera tilt angle on the style zoom level.
TiltSettings
val lenOnDegreeMm
Distance, in mm, that you need to slide your fingers across the screen to change the camera angle by 1 degree. A negative value will invert the direction. A value of 0 is invalid.
val horizontalSwerveDeg
Maximum allowable deviation of the finger line from the horizon for a vertical swipe. In degrees.
val verticalSwerveDeg
Maximum allowable angle of deviation of the swipe direction from the vertical line. In degrees.
val thresholdMm
Weighted average point shift threshold, in millimeters, if the shift does not exceed the threshold, then the event is not sent.
TimePoint
Class representing a point in time.
TimePoint(timeFromEpoch: Duration)
Class representing a point in time.
timeFromEpoch
fun toString(): String
@JvmStatic
fun ofEpochMilliseconds(milliseconds: Long): TimePoint
@JvmStatic
fun now(): TimePoint
Time elapsed since 00:00:00 UTC, January 1, 1970 (Unix time).
TradeLicense
Organization license.
Traffic
Description of the traffic data.
TrafficAndParkingControl
Container with controls for displaying parking lots and traffic jams.
TrafficCollector
Interface for managing traffic information collection service.
This interface is thread-safe.
TrafficCollector(context: Context)
Function of creating a service for collecting information about traffic. The service for collecting information about traffic analyzes the state of traffic on the road where the user is moving and sends the results of the analysis to the server in anonymized form .
context
Context - the environment required for the SDK to work.
TrafficControl
Traffic jam visibility control. It is a button that switches the visibility of traffic jams on the map. The control visually displays the traffic jam score, which also affects color: green - low level of traffic, yellow - medium, red - high. The appearance of the control changes depending on the state, see TrafficControlStatus for details.
TrafficControl(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
)
Traffic jam visibility control. It is a button that switches the visibility of traffic jams on the map. The control visually displays the traffic jam score, which also affects color: green - low level of traffic, yellow - medium, red - high. The appearance of the control changes depending on the state, see TrafficControlStatus for details.
TrafficControl
Traffic jam visibility control. It is a button that switches the visibility of traffic jams on the map. The control visually displays the traffic jam score, which also affects color: green - low level of traffic, yellow - medium, red - high. The appearance of the control changes depending on the state, see TrafficControlStatus for details.
TrafficControlModel
Model of a traffic jam visibility control.
This interface is thread-safe.
TrafficControlModel(map: Map)
Function of creating a model of a traffic jam visibility control.
map
Map.
fun onClicked(): Unit
Action when clicking on the control. Toggles the visibility of traffic jams on the map.
TrafficControlState
Traffic control status.
TrafficControlState(status: TrafficControlStatus = TrafficControlStatus.HIDDEN, score: Int?)
Traffic control status.
TrafficLineControl
Control that displays the level of traffic jams along the route.
var pointObjectsPosition
TrafficLinePointObject
TrafficLinePointObjectView
TrafficRoute
TrafficRouter
Interface for finding a route based on traffic jam data.
fun findRoute(
startPoint: RouteSearchPoint,
finishPoint: RouteSearchPoint,
routeSearchOptions: RouteSearchOptions,
intermediatePoints: List<RouteSearchPoint> = listOf()
): Future<List<TrafficRoute>>
Searches for a route with the given parameters.
startPoint
Starting point of the route.
finishPoint
Finish point of the route.
routeSearchOptions
Route search options.
intermediatePoints
Intermediate points to pass in the same order in which the points are given in the vector.
Future with a set of found routes, or throw a NativeException on failure.
An empty route set is a valid result, meaning that a route matching the specified search criteria cannot be found.
When searching for routes for freight transport, it is possible to return routes passing through the access zones for which passes were not provided, if it was not possible to route only through the access zones for which the passes were provided. To check if the list of passes is sufficient to pass a route, use the route_matches_truck_pass_zone_passes function.
fun findBriefRouteInfos(searchPoints: List<BriefRouteInfoSearchPoints>, routeSearchOptions: RouteSearchOptions): Future<List<BriefRouteInfo?>>
Searches for basic route information for a matching set of search points.
searchPoints
Set of points for finding basic information about the route.
routeSearchOptions
Route search options.
Future with basic information about the set of routes corresponding to the set of search points, or throwing a NativeException on failure.
If the basic information for any of the pairs of points is not found, the element at the corresponding index in the returned result is null.
val truckPassZonePasses
Returns a list of all supported passes that allow truck traffic within the pass zones.
TrafficScore
Traffic score.
TrafficScore(state: TrafficScoreState = TrafficScoreState.PENDING, value: Int?)
Traffic score.
TrafficScoreProvider
Subscribtion to updates of the traffic jam score.
This interface is thread-safe.
TrafficSource
Interface of the class that controls the display of traffic jams on the map.
TrafficSpeedColorRouteLongAttribute
Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. Attribute action starts at this point and ends at the next point, at which the next element's attribute action begins.
fun entry(point: RoutePoint): TrafficSpeedColorRouteLongEntry?
Element that the specified point falls into.
fun entries(begin: RoutePoint, end: RoutePoint): List<TrafficSpeedColorRouteLongEntry>
Elements partially or completely covered by the begin,end range.
TrafficSpeedColorRouteLongEntry
Extended route element - segment and value on it.
TrafficSpeedColorRouteLongEntry(
point: RoutePoint,
length: RouteDistance,
value: TrafficSpeedColor
)
Extended route element - segment and value on it.
TransportTypeRouteLongAttribute
Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. Attribute action starts at this point and ends at the next point, at which the next element's attribute action begins.
fun entry(point: RoutePoint): TransportTypeRouteLongEntry?
Element that the specified point falls into.
fun entries(begin: RoutePoint, end: RoutePoint): List<TransportTypeRouteLongEntry>
Elements partially or completely covered by the begin,end range.
TransportTypeRouteLongEntry
Extended route element - segment and value on it.
TransportTypeRouteLongEntry(
point: RoutePoint,
length: RouteDistance,
value: TransportType
)
Extended route element - segment and value on it.
TruckPassZoneId
Identifier of the pass zone for trucks. Value 0 means no pass zone.
TruckPassZoneId(value: Int = 0)
Identifier of the pass zone for trucks. Value 0 means no pass zone.
value
TruckPassZoneIdRouteLongAttribute
Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. Attribute action starts at this point and ends at the next point, at which the next element's attribute action begins.
fun entry(point: RoutePoint): TruckPassZoneIdRouteLongEntry?
Element that the specified point falls into.
fun entries(begin: RoutePoint, end: RoutePoint): List<TruckPassZoneIdRouteLongEntry>
Elements partially or completely covered by the begin,end range.
TruckPassZoneIdRouteLongEntry
Extended route element - segment and value on it.
TruckPassZoneIdRouteLongEntry(
point: RoutePoint,
length: RouteDistance,
value: TruckPassZoneId
)
Extended route element - segment and value on it.
TruckPassZonePass
Pass allowing the movement of trucks in pass zones.
TruckPassZonePass(
id: TruckPassZonePassId,
name: String,
passZoneIds: Set<TruckPassZoneId>
)
Pass allowing the movement of trucks in pass zones.
TruckPassZonePassId
Identifier of the pass that allows the movement of trucks in pass zones.
TruckPassZonePassId(value: Int = 0)
Identifier of the pass that allows the movement of trucks in pass zones.
value
TruckRouteSearchOptions
Parameters for finding a truck route . When searching for a route, only filled-in parameters are taken into account.
TruckRouteSearchOptions(
car: CarRouteSearchOptions,
truckLength: Int? = null,
truckHeight: Int? = null,
truckWidth: Int? = null,
actualMass: Int? = null,
maxPermittedMass: Int? = null,
axleLoad: Int? = null,
dangerousCargo: Boolean = false,
explosiveCargo: Boolean = false,
passIds: Set<TruckPassZonePassId> = setOf(),
fallbackOnCar: Boolean = false
)
Parameters for finding a truck route . When searching for a route, only filled-in parameters are taken into account.
val car
Route search options common to other car routes.
val truckLength
Length of the truck in millimeters.
val truckHeight
Height of the truck in millimeters.
val truckWidth
Width of the truck in millimeters.
val actualMass
Actual weight of the truck in kilograms.
val maxPermittedMass
Maximum authorized mass of a truck in kilograms.
val axleLoad
Axle load in kilograms.
val dangerousCargo
Sign of the presence of dangerous cargo.
val explosiveCargo
Sign of the presence of explosive cargo.
val passIds
Identifiers of the user passes required for moving within the pass zones.
val fallbackOnCar
Use automatic fallback from truck route search to car route search, if you cannot find a truck route that matches the search parameters.
UIMarkerInfo
Object ID with a caption.
UIMarkerInfo(objectId: DgisObjectId, label: String?)
Object ID with a caption.
UIntRouteLongAttribute
Container that stores an extended route attribute. Each element is stored as a pair consisting of a point and an attribute element value. Attribute action starts at this point and ends at the next point, at which the next element's attribute action begins.
fun entry(point: RoutePoint): UIntRouteLongEntry?
Element that the specified point falls into.
fun entries(begin: RoutePoint, end: RoutePoint): List<UIntRouteLongEntry>
Elements partially or completely covered by the begin,end range.
UIntRouteLongEntry
Extended route element - segment and value on it.
UIntRouteLongEntry(
point: RoutePoint,
length: RouteDistance,
value: Int
)
Extended route element - segment and value on it.
VendorConfig
Overrides SDK configuration.
VendorConfig()
fun match(
none: Function0<T>,
fromAsset: Function1,
fromFile: Function1,
fromString: Function1
): T
none
fromAsset
fromFile
fromString
fun toString(): String
fun hashCode(): Int
VendorConfigFromAsset
Overrides SDK settings by specifying the path to an Android app asset.
VendorConfigFromAsset(path: String)
Overrides SDK settings by specifying the path to an Android app asset.
path
VendorConfigFromFile
Overrides SDK settings by specifying a path to a file in the device file system.
VendorConfigFromFile(path: String)
Overrides SDK settings by specifying a path to a file in the device file system.
path
VendorConfigFromString
Overrides SDK settings by specifying the file contents.
VendorConfigFromString(contents: String)
Overrides SDK settings by specifying the file contents.
contents
Voice
Voice package for the navigator.
VoiceManager
Interface for interacting with the list of navigator voice packages.
val voicesChannel
Channel with a list of all known voice packages. Updated if information about at least one of the voices or the list composition changes. The content of the channel is a subset of the total list of packages. To avoid desynchronization of package descriptions, you should not use data that are obtained simultaneously from multiple channels containing subsets of a common package list.
val voices
Channel with a list of all known voice packages. Updated if information about at least one of the voices or the list composition changes. The content of the channel is a subset of the total list of packages. To avoid desynchronization of package descriptions, you should not use data that are obtained simultaneously from multiple channels containing subsets of a common package list.
VoiceSelector
Manages voice packages in the current navigator session.
var voice
Voice package that plays voice notifications in the current navigator session.
VoidRouteAttribute
Container that describes a point attribute of a route. Each element is stored as the point on the route (where the element is located) and the value of the element itself.
fun entries(begin: RoutePoint, end: RoutePoint): List<RoutePoint>
Elements falling within the [begin, end) range.
fun findNearBackward(point: RoutePoint): RoutePoint?
Finds the nearest element the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
fun findNearForward(point: RoutePoint): RoutePoint?
Finds the nearest element the position of which is < = point.
The complexity of the operation is log2(N), where N = size.
WeekTime
Time point within a week.
WeekTimeInterval
Time interval within a week.
Widget
Base class representing a widget for filtering search results.
Widgets are returned as a result of a search and are designed to filter or sort the result by certain parameters. Widgets are generated dynamically for each search result and may not be available for some requests. The widget represents one specific filter or a group of them, united by a common feature. For example, the type of cuisine in search results for the "Eat" query.
WorkStatus
Work status.
WorkTimeFilter
Filter by the object's opening hours. Either open now or open for a specific date and time.
fun match(workTime: Function1, isOpenNow: Function1): T
fun toString(): String
fun hashCode(): Int
ZIndex
Index specifying the rendering order of objects within a layer.
ZIndex(value: Int = 0)
Index specifying the rendering order of objects within a layer.
value
Zoom
Zoom level.
Zoom = 0 is the scale at which the entire world is inscribed in a square of 256x256 logical pixels (see LogicalPixel). Zoom = 1 is the scale at which the entire world is inscribed in a square of 512x512 logical pixels. The scale is proportional value of 2^Zoom.
Zoom cannot be negative.
Zoom(value: Float = 0.0f)
Zoom level.
Zoom = 0 is the scale at which the entire world is inscribed in a square of 256x256 logical pixels (see LogicalPixel). Zoom = 1 is the scale at which the entire world is inscribed in a square of 512x512 logical pixels. The scale is proportional value of 2^Zoom.
Zoom cannot be negative.
value
ZoomControl
Container with controls to increase and decrease the zoom level.
ZoomControl
Container with controls to increase and decrease the zoom level.
ZoomControl(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
)
Container with controls to increase and decrease the zoom level.
ZoomControlModel
Zoom control model. The control consists of +/- buttons, which, when pressed, change the map scale. When the allowable scale limit is reached, the zoom button in this direction becomes inactive. Object methods must be called on one thread.
fun isEnabled(button: ZoomControlButton): StatefulChannel<Boolean>
fun setPressed(button: ZoomControlButton, value: Boolean): Unit
ZoomFollowSettings
Interface that allows you to manage map scaling settings during navigation.
During navigation, the scale depends on the speed of movement, the presence of maneuvers ahead and behind on the route, and the type of road.
If there are no maneuvers ahead and behind, or on roads with low value (minor streets in settlements, highways, intercity or federal highways), the scale value is selected based on the values SpeedRangeToStyleZoom, which are stored in the speed_range_to_style_zoom_sequence. The sequence speed_range_to_style_zoom_sequence must contain speed intervals sorted in ascending order of min_speed values, and the conditions below must be met: max_speedi > min_speedi+1
max_speedi < max_speedi+1. That is, speed intervals should touch or even intersect, but the speed value should not fall into more than two intervals. However, the minimum speed value is not considered to fall within the interval, i.e. the same speed value may be the maximum speed for one interval, the minimum speed for another, and be inside the interval for a third interval. An exception is the first speed interval, which must contain min_speed == 0.
The map scale is selected from the speed_range_to_style_zoom_sequence using the algorithm:
When approaching a maneuver at the current speed, the scale will increase smoothly. The duration of the increase depends on the speed and distance to the maneuver. When the speed is increased, the animation time increases, and when the speed is decreased, it decreases. The increase in zoom level is completed at some distance from the maneuver.
After passing the maneuver, the zoom level smoothly decreases.
var speedRangeToStyleZoomSequence
Sequence of speed intervals and their corresponding scales. Used for automatic map scaling in the navigator based on speed.
var speedRangeToStyleZoomFreeRoamSequence
var styleZoomSpeedRangesAnimationDuration
Duration of smooth zoom in the navigation mode as speed changes when there are no maneuvers ahead/behind at a sufficiently close distance, or on roads with low value.
var zoomInBeforeManeuverAnimationDuration
Duration of smooth zoom increase when approaching a maneuver. Used only if the speed is lower than get_min_speed_to_consider_in_zoom_in_before_maneuver_animation.
var zoomOutAfterManeuverAnimationDuration
Duration of smooth decrease of the zoom level after completing the maneuver.
var minSpeedToConsiderInZoomInBeforeManeuverAnimation
Minimum movement speed in m/s at which the duration of the smooth zoom level change is calculated taking into account not only the proximity to the maneuver, but also the current speed. Must be at least 0.1 m/s, values less than are ignored.
var zoomInBeforeManeuverAnimationAcceleration
Acceleration factor for the zoom increase animation when approaching a maneuver. Must be at least 1, values less than this are ignored.
var distanceGapToManeuver
Distance to the maneuver at which the zoom-in animation must be completed so that the zoom does not change during the maneuver. For example, if there is 300 m before the maneuver, then the zoom-in animation must be completed 50 m before start of the maneuver. Must be at least 1 m, values less than are ignored.
var minAnimationDuration
Minimum animation time. Used to prevent abrupt changes in the zoom level during animation. Must be at least 200, values below are ignored.