Перейти к основному содержимому

method

AttributeValue(value)

fun AttributeValue(value: Float): AttributeValue
Parameters

calcPosition(camera,geometry,styleZoomToTiltRelation,screenArea,tilt,bearing,size)

fun calcPosition(
camera: BaseCamera,
geometry: Geometry,
styleZoomToTiltRelation: StyleZoomToTiltRelation? = null,
screenArea: Padding? = null,
tilt: Tilt? = null,
bearing: Bearing? = null,
size: ScreenSize? = null
): CameraPosition

Вычисление позиции камеры такой, что геометрический объект, расположенный на карте, полностью вписан в область экрана, заданную параметром screen_area.

Если не нужно изменять настройки оригинальной камеры, то можно настраивать скопированную через IBaseCamera::clone() камеру.

Parameters

camera

Камера, используемая для вычисления позиции.

geometry

Геометрический объект, который необходимо вписать в область экрана, заданную параметром screen_area.

styleZoomToTiltRelation

Функция зависимости угла наклона камеры от стилевого уровня масштабирования.

screenArea

область экрана, в которую нужно вписать геометрию. Если не задана, то для расчёта используется padding камеры.

tilt

наклон карты. Если не задан, то используется текущий наклон камеры.

bearing

поворот карты. Если не задан, то используется текущий поворот камеры.

size

Размер области просмотра. В случае, если не указано, используется значение ICamera::size().

Returns

calcPosition(camera,objects,styleZoomToTiltRelation,screenArea,tilt,bearing,size)

fun calcPosition(
camera: BaseCamera,
objects: List<SimpleMapObject>,
styleZoomToTiltRelation: StyleZoomToTiltRelation? = null,
screenArea: Padding? = null,
tilt: Tilt? = null,
bearing: Bearing? = null,
size: ScreenSize? = null
): CameraPosition

Вычисление позиции камеры такой, что объекты карты полностью вписаны в область экрана, заданную параметром screen_area.

Parameters

camera

Камера, используемая для вычисления позиции.

objects

Объекты карты, которые необходимо вписать в область экрана, заданную параметром screen_area.

styleZoomToTiltRelation

Функция зависимости угла наклона камеры от стилевого уровня масштабирования.

screenArea

область экрана, в которую нужно вписать геометрию. Если не задана, то для расчёта используется padding камеры.

tilt

наклон карты. Если не задан, то используется текущий наклон камеры.

bearing

поворот карты. Если не задан, то используется текущий поворот камеры.

size

Размер области просмотра. В случае, если не указано, используется значение ICamera::size().

Returns

calculateClosestPoint(routeGeometry,point)

fun calculateClosestPoint(routeGeometry: GeoPointRouteAttribute, point: GeoPoint): RoutePoint?

Вычисляет ближайшую точку на маршруте к заданной в географических координатах точке.

Parameters

routeGeometry

Геометрия маршрута.

point

Проецируемая на маршрут точка.

Returns
RoutePoint?

Ближайшая точка на маршруте. Если маршрут пустой, либо точки range.first и range.second одновременно лежат либо до маршрута, либо после, то возвращается null.

Сложность операции O(N), где N = route_geometry.size()

Color(red,green,blue,alpha)

fun Color(
red: Int,
green: Int,
blue: Int,
alpha: Int = 255
): Color
Parameters

red

green

blue

alpha

Returns

createDefaultMaxTiltRestriction()

fun createDefaultMaxTiltRestriction(): StyleZoomToTiltRelation

Получаем стандартную зависимость максимального угла наклона от стилевого уровня масштабирования.

createDefaultStyleZoomToTiltRelation()

fun createDefaultStyleZoomToTiltRelation(): StyleZoomToTiltRelation

Получение зависимости угла наклона камеры от стилевого уровня масштабирования для стандартного контроллера слежения за наклоном.

createRasterTileDataSource(context,sublayerName,urlTemplate)

fun createRasterTileDataSource(
context: Context,
sublayerName: String,
urlTemplate: String
): Source

Создание источника, получающего растровые тайлы.

Parameters

context

контекст.

sublayerName

имя, которое будет использовано при генерации объектов. Это имя должно быть указано в стилях в условии filter слоя типа raster для атрибута db_sublayer. Пример: ["match", get,db_sublayer, NAME, true, false] Подробнее см. спецификацию: https://docs.2gis.com/ru/mapgl/stylespecification

urlTemplate

Шаблон url для запроса тайлов, должен содержать подстроки {x}, {y} и {z}, которые при подстановке вместо них числовых значений формируют валидный URL, на который будет отправлен запрос за данными тайла.

Returns

createStyleZoomToTiltRelation(points)

fun createStyleZoomToTiltRelation(points: Map): StyleZoomToTiltRelation

Создаем зависимость угла наклона камеры от стилевого уровня масштабирования.

Parameters

points

Точки, по которым строится зависимость.

Returns
StyleZoomToTiltRelation

зависимость угла наклона камеры от стилевого уровня масштабирования, если создать зависимость не удалось - бросаем исключение.

Зависимость должна представлять собой монотонную непрерывную функцию. Если точками задана зависимость, не удовлетворяющая условиям, то функция бросает исключение. Зависимость, примерно как в 2гис, можно задать последовательностью точек 17,0,19,15,20,25 в режиме карты и 15,0,16,34,17,48 в режиме навигатора. Пусть нужно получить значение угла наклона камеры T для стилевого уровня масштабирования Z, такого что Z0 < = Z < Z1 и зависимость задана точками Z0,T0,Z1,T1. Тогда искомое значение рассчитывается по формуле T = T0 + k * (T1 - T0), где k = (Z - Z0) / (Z1 - Z0). Если Z < Z0, то T = T0. Если Z >= Z1, то T = T1.

GeoPoint(latitude,longitude)

fun GeoPoint(latitude: Double, longitude: Double): GeoPoint
Parameters

latitude

longitude

Returns

GeoPointWithElevation(latitude,longitude,elevation)

fun GeoPointWithElevation(
latitude: Double,
longitude: Double,
elevation: Elevation = Elevation(0.0f)
): GeoPointWithElevation
Parameters

latitude

longitude

elevation

Returns

GeoPointWithElevation(point,elevation)

fun GeoPointWithElevation(point: GeoPoint, elevation: Elevation = Elevation(0.0f)): GeoPointWithElevation
Parameters

getHttpCacheManager(context)

fun getHttpCacheManager(context: Context): HttpCacheManager?

Интерфейс управления HTTP-кешем. Null, если HTTP кэш не используется.

Parameters

getInstructionManeuver(extraInstructionInfo)

fun getInstructionManeuver(extraInstructionInfo: ExtraInstructionInfo): InstructionManeuver

Получить манёвр, который необходимо совершить для движения по маршруту.

Parameters

extraInstructionInfo

Returns

getLanesControlImages(laneSign,maxCount,ignoreActiveManeuver)

fun getLanesControlImages(
laneSign: RouteLaneSign,
maxCount: Int,
ignoreActiveManeuver: Boolean
): List<LanesControlImage>

Получить список изображений для отображения в контроле полосности. Количество изображений (без учета разделителей и многоточий) ограничено maxCount, если оно превышено, изображения с одной или обеих сторон обрезаются таким образом, чтобы осталось как можно больше изображений активных маневров. На стороне, где произошло удаление, отображается многоточие. В случае, если параметр ignoreActiveManeuver равен true, активный манёвр будет проигнорирован, и будет возвращено изображение, соответствующее всем разрешенным направлениям движения.

Parameters

laneSign

maxCount

ignoreActiveManeuver

Returns

getLocaleManager(context)

fun getLocaleManager(context: Context): LocaleManager

Интерфейс управления локалями приложения.

Parameters

context

Returns

getPackageManager(context)

fun getPackageManager(context: Context): PackageManager

Получение объекта для работы с пакетами из контекста.

Parameters

context

Returns

getRoadMacroGraph(context)

fun getRoadMacroGraph(context: Context): RoadMacroGraph

Получение объекта для управления глобальным дорожным графом из контекста.

Parameters

context

Returns

getSystemMemoryManager(context)

fun getSystemMemoryManager(context: Context): SystemMemoryManager

Получение объекта для управления использованием системной памяти.

Parameters

getTerritoriesAlongRouteProvider(context)

fun getTerritoriesAlongRouteProvider(context: Context): TerritoriesAlongRouteProvider

Получение объекта для получения списка территорий вдоль маршрута из контекста.

Parameters

getTerritoryManager(context)

fun getTerritoryManager(context: Context): TerritoryManager

Получение объекта для работы с территориями из контекста.

Parameters

getVoiceManager(context)

fun getVoiceManager(context: Context): VoiceManager

Получение объекта для управления голосами из контекста.

Parameters

context

Returns

imageFromAsset(context,assetName,size)

fun imageFromAsset(
context: Context,
assetName: String,
size: Size? = null
): Image

context - Android контекст assetName - файл изображения size - целевой размер изображения (для SVG и Lottie игнорируется)

Parameters

context

assetName

size

Returns

imageFromBitmap(context,bitmap)

fun imageFromBitmap(context: Context, bitmap: Bitmap): Image
Parameters

context

bitmap

Returns

imageFromBitmap(context,loader)

fun imageFromBitmap(context: Context, loader: Function0<Bitmap>): Image
Parameters

context

loader

Returns

imageFromCanvas(context,size,block)

fun imageFromCanvas(
context: Context,
size: Size,
block: Function1
): Image
Parameters

context

size

block

Returns

imageFromLottieJSON(context,data)

fun imageFromLottieJSON(context: Context, data: ByteArray): Image
Parameters

context

data

Returns

imageFromLottieJSON(context,loader)

fun imageFromLottieJSON(context: Context, loader: Function0<ByteArray>): Image
Parameters

context

loader

Returns

imageFromResource(context,resourceId,size)

fun imageFromResource(
context: Context,
resourceId: Int,
size: Size? = null
): Image

context - Android контекст resourceId - Android ресурс size - целевой размер изображения (для SVG и Lottie игнорируется)

Parameters

context

resourceId

size

Returns

imageFromSvg(context,data)

fun imageFromSvg(context: Context, data: ByteArray): Image
Parameters

context

data

Returns

imageFromSvg(context,loader)

fun imageFromSvg(context: Context, loader: Function0<ByteArray>): Image
Parameters

context

loader

Returns

isBetterLocation(location,currentBestLocation)

fun isBetterLocation(location: Location, currentBestLocation: Location?): Boolean
Parameters

location

currentBestLocation

Returns

kilometersPerHourToMetersPerSecond(kilometersPerHour)

fun kilometersPerHourToMetersPerSecond(kilometersPerHour: Double): Double

Преобразование скорости в километрах в час в скорость в метрах в секунду.

Parameters

kilometersPerHour

Returns

max(a,b)

fun max(a: TimePoint, b: TimePoint): TimePoint
Parameters

metersPerSecondToKilometersPerHour(metersPerSecond)

fun metersPerSecondToKilometersPerHour(metersPerSecond: Double): Double

Преобразование скорости в метрах в секунду в скорость в километрах в час.

Parameters

metersPerSecond

Returns

metersToUiString(meters,context)

fun metersToUiString(meters: Int, context: Context): String

Преобразование размера в метрах в строку для показа в UI-элементах навигатора.

Parameters

meters

context

Returns

min(a,b)

fun min(a: TimePoint, b: TimePoint): TimePoint
Parameters

MutableChannel()

fun MutableChannel(): MutableChannel<T>

MutableStatefulChannel(initialValue)

fun MutableStatefulChannel(initialValue: T): MutableStatefulChannel<T>
Parameters

initialValue

T
Returns

parseGeoJson(geoJsonData)

fun parseGeoJson(geoJsonData: String): List<GeometryMapObject>
Parameters

parseGeoJsonFile(fsPath)

fun parseGeoJsonFile(fsPath: String): List<GeometryMapObject>
Parameters

projectionZToStyleZ(projectionZ,latitude)

fun projectionZToStyleZ(projectionZ: Zoom, latitude: Latitude): StyleZoom
Parameters

projectionZ

latitude

Returns

registerPlatformLocationSource(context,source)

fun registerPlatformLocationSource(context: Context, source: LocationSource?): Unit

Регистрация источника геопозиции. В качестве источника по-умолчанию можно использовать DefaultLocationSource.

Parameters

context

source

Returns

registerPlatformMagneticSource(context,source)

fun registerPlatformMagneticSource(context: Context, source: MagneticHeadingSource?): Unit
Parameters

remainingRouteGeometry(fullRouteGeometry,currentRoutePoint)

fun remainingRouteGeometry(fullRouteGeometry: GeoPointRouteAttribute, currentRoutePoint: RoutePoint): GeoPointRouteAttribute

Вычисляет геометрию оставшейся части маршрута, т.е. геометрию, начинающуюся с точки, соответствующей текущей точке маршрута, и до конца маршрута. Если маршрут полностью пройден или текущая точка находится за пределами маршрута, возвращается пустая геометрия.

Parameters

fullRouteGeometry

Полная геометрия всего маршрута.

currentRoutePoint

Текущая позиция на маршруте.

Returns
GeoPointRouteAttribute

Геометрия оставшейся части маршрута

Сложность операции O(N), где N = full_route_geometry.size()

routeMatchesTruckPassZonePasses(truckPassZoneIds,passZonePasses)

fun routeMatchesTruckPassZonePasses(truckPassZoneIds: TruckPassZoneIdRouteLongAttribute, passZonePasses: List<TruckPassZonePass>): Boolean

Проверяет, достаточен ли предоставленный список пропусков для проезда пропускных зон грузового транспорта, через которые проходит маршрут.

Если маршрут не проходит через какие-либо пропускные зоны для грузового транспорта, функция возвращает true

Parameters

truckPassZoneIds

Атрибут маршрута с идентификаторами пропускных зон для грузового транспорта.

passZonePasses

Пропуски для проезда пропускных зон грузового транспорта.

Returns
Boolean

Признак достаточности пропусков для проезда по маршруту.

styleZToProjectionZ(styleZ,latitude)

fun styleZToProjectionZ(styleZ: StyleZoom, latitude: Latitude): Zoom
Parameters

styleZ

latitude

Returns

toMapGeometry(geometry)

fun toMapGeometry(geometry: GeoPointRouteAttribute): Geometry

Преобразовать геометрию маршрута в IGeometryPtr.

Parameters

zoomOutToFit(camera,geometry,styleZoomToTiltRelation,size)

fun zoomOutToFit(
camera: BaseCamera,
geometry: Geometry,
styleZoomToTiltRelation: StyleZoomToTiltRelation? = null,
size: ScreenSize? = null
): CameraPosition

Вычисление позиции камеры, такой, что при неизменной точке установки камеры геометрический объект, расположенный на карте, умещается в область экрана, заданную padding'ом камеры.

Если не нужно изменять настройки оригинальной камеры, то можно настраивать скопированную через IBaseCamera::clone() камеру.

Parameters

camera

Камера, используемая для вычисления позиции.

geometry

Геометрический объект, который необходимо вписать в область экрана, заданную внутренними отступами (padding) камеры.

styleZoomToTiltRelation

Функция зависимости угла наклона камеры от стилевого уровня масштабирования.

size

Размер области просмотра. В случае, если не указано, используется значение ICamera::size().

Returns

zoomOutToFit(camera,objects,styleZoomToTiltRelation,size)

fun zoomOutToFit(
camera: BaseCamera,
objects: List<SimpleMapObject>,
styleZoomToTiltRelation: StyleZoomToTiltRelation? = null,
size: ScreenSize? = null
): CameraPosition

Вычисление позиции камеры, такой, что при неизменной точке установки камеры геометрический объект, расположенный на карте, умещается в область экрана, заданную padding'ом камеры.

Parameters

camera

Камера, используемая для вычисления позиции.

objects

Объекты карты, которые необходимо вписать в область экрана, заданную внутренними отступами (padding) камеры.

styleZoomToTiltRelation

Функция зависимости угла наклона камеры от стилевого уровня масштабирования.

size

Размер области просмотра. В случае, если не указано, используется значение ICamera::size().

Returns