method
AttributeValue(value)
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.<p>Если не нужно изменять настройки оригинальной камеры,
то можно настраивать скопированную через IBaseCamera::clone() камеру.</p>
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.
<p>Сложность операции O(N), где N = route_geometry.size()</p>
Color(red,green,blue,alpha)
fun Color(
red: Int,
green: Int,
blue: Int,
alpha: Int = 255
): Color
Parameters
createDefaultMaxTiltRestriction()
fun createDefaultMaxTiltRestriction(): StyleZoomToTiltRelation
Получаем стандартную зависимость максимального угла наклона от стилевого уровня масштабирования.
Returns
createDefaultStyleZoomToTiltRelation()
fun createDefaultStyleZoomToTiltRelation(): StyleZoomToTiltRelation
Получение зависимости угла наклона камеры от стилевого уровня масштабирования
для стандартного контроллера слежения за наклоном.
Returns
createRasterTileDataSource(context,sublayerName,urlTemplate)
fun createRasterTileDataSource(
context: Context,
sublayerName: String,
urlTemplate: String
): Source
Создание источника, получающего растровые тайлы.
Parameters
context
контекст.
sublayerName
имя, которое будет использовано при генерации объектов.
Это имя должно быть указано в стилях в условии filter слоя типа raster для атрибута db_sublayer.
Пример: ["match", <a href="#">get,db_sublayer</a>, <a href="#">NAME</a>, 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зависимость угла наклона камеры от стилевого уровня масштабирования, если создать зависимость не
удалось - бросаем исключение.
<p>Зависимость должна представлять собой монотонную непрерывную функцию.
Если точками задана зависимость, не удовлетворяющая условиям, то функция бросает исключение.
Зависимость, примерно как в 2гис, можно задать последовательностью точек <a href="#">17,0,19,15,20,25</a> в режиме карты
и <a href="#">15,0,16,34,17,48</a> в режиме навигатора.
Пусть нужно получить значение угла наклона камеры T для стилевого уровня масштабирования Z, такого что Z0
<
= Z
<
Z1 и
зависимость задана точками <a href="#">Z0,T0,Z1,T1</a>. Тогда искомое значение рассчитывается по формуле
T = T0 + k * (T1 - T0), где k = (Z - Z0) / (Z1 - Z0). Если Z
<
Z0, то T = T0. Если Z >= Z1, то T = T1.</p>
GeoPoint(latitude,longitude)
fun GeoPoint(latitude: Double, longitude: Double): GeoPoint
Parameters
GeoPointWithElevation(latitude,longitude,elevation)
fun GeoPointWithElevation(
latitude: Double,
longitude: Double,
elevation: Elevation = Elevation(0.0f)
): GeoPointWithElevation
Parameters
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
getLanesControlImages(laneSign,maxCount,ignoreActiveManeuver)
fun getLanesControlImages(
laneSign: RouteLaneSign,
maxCount: Int,
ignoreActiveManeuver: Boolean
): List<LanesControlImage>
Получить список изображений для отображения в контроле полосности.
Количество изображений (без учета разделителей и многоточий) ограничено maxCount,
если оно превышено, изображения с одной или обеих сторон обрезаются таким образом, чтобы
осталось как можно больше изображений активных маневров. На стороне, где произошло удаление,
отображается многоточие.
В случае, если параметр ignoreActiveManeuver равен true, активный манёвр будет проигнорирован,
и будет возвращено изображение, соответствующее всем разрешенным направлениям движения.
Parameters
getLocaleManager(context)
fun getLocaleManager(context: Context): LocaleManager
Интерфейс управления локалями приложения.
Parameters
getPackageManager(context)
fun getPackageManager(context: Context): PackageManager
Получение объекта для работы с пакетами из контекста.
Parameters
getRoadMacroGraph(context)
fun getRoadMacroGraph(context: Context): RoadMacroGraph
Получение объекта для управления глобальным дорожным графом из контекста.
Parameters
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
imageFromAsset(context,assetName,size)
fun imageFromAsset(
context: Context,
assetName: String,
size: Size? = null
): Image
context - Android контекст
assetName - файл изображения
size - целевой размер изображения (для SVG и Lottie игнорируется)
Parameters
imageFromBitmap(context,bitmap)
fun imageFromBitmap(context: Context, bitmap: Bitmap): Image
Parameters
imageFromBitmap(context,loader)
fun imageFromBitmap(context: Context, loader: Function0<Bitmap>): Image
Parameters
imageFromCanvas(context,size,block)
fun imageFromCanvas(
context: Context,
size: Size,
block: Function1
): Image
Parameters
imageFromLottieJSON(context,data)
fun imageFromLottieJSON(context: Context, data: ByteArray): Image
Parameters
imageFromLottieJSON(context,loader)
fun imageFromLottieJSON(context: Context, loader: Function0<ByteArray>): Image
Parameters
imageFromResource(context,resourceId,size)
fun imageFromResource(
context: Context,
resourceId: Int,
size: Size? = null
): Image
context - Android контекст
resourceId - Android ресурс
size - целевой размер изображения (для SVG и Lottie игнорируется)
Parameters
imageFromSvg(context,data)
fun imageFromSvg(context: Context, data: ByteArray): Image
Parameters
imageFromSvg(context,loader)
fun imageFromSvg(context: Context, loader: Function0<ByteArray>): Image
Parameters
isBetterLocation(location,currentBestLocation)
fun isBetterLocation(location: Location, currentBestLocation: Location?): Boolean
Parameters
kilometersPerHourToMetersPerSecond(kilometersPerHour)
fun kilometersPerHourToMetersPerSecond(kilometersPerHour: Double): Double
Преобразование скорости в километрах в час в скорость в метрах в секунду.
Parameters
max(a,b)
metersPerSecondToKilometersPerHour(metersPerSecond)
fun metersPerSecondToKilometersPerHour(metersPerSecond: Double): Double
Преобразование скорости в метрах в секунду в скорость в километрах в час.
Parameters
metersToUiString(meters,context)
fun metersToUiString(meters: Int, context: Context): String
Преобразование размера в метрах в строку для показа в UI-элементах навигатора.
Parameters
min(a,b)
MutableChannel()
fun MutableChannel(): MutableChannel<T>
Returns
MutableStatefulChannel(initialValue)
fun MutableStatefulChannel(initialValue: T): MutableStatefulChannel<T>
Parameters
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
registerPlatformLocationSource(context,source)
fun registerPlatformLocationSource(context: Context, source: LocationSource?): Unit
Регистрация источника геопозиции. В качестве источника по-умолчанию можно использовать DefaultLocationSource.
Parameters
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Геометрия оставшейся части маршрута
<p>Сложность операции O(N), где N = full_route_geometry.size()</p>
routeMatchesTruckPassZonePasses(truckPassZoneIds,passZonePasses)
fun routeMatchesTruckPassZonePasses(truckPassZoneIds: TruckPassZoneIdRouteLongAttribute, passZonePasses: List<TruckPassZonePass>): Boolean
Проверяет, достаточен ли предоставленный список пропусков для проезда пропускных зон грузового транспорта,
через которые проходит маршрут.<p>Если маршрут не проходит через какие-либо пропускные зоны для грузового транспорта, функция возвращает true</p>
Parameters
truckPassZoneIds
Атрибут маршрута с идентификаторами пропускных зон для грузового транспорта.
passZonePasses
Пропуски для проезда пропускных зон грузового транспорта.
Returns
BooleanПризнак достаточности пропусков для проезда по маршруту.
styleZToProjectionZ(styleZ,latitude)
fun styleZToProjectionZ(styleZ: StyleZoom, latitude: Latitude): Zoom
Parameters
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'ом камеры.<p>Если не нужно изменять настройки оригинальной камеры,
то можно настраивать скопированную через IBaseCamera::clone() камеру.</p>
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