method
AttributeValue(value)
calcPosition(camera,geometry,screenArea,tilt,bearing,size)
fun calcPosition(
camera: BaseCamera,
geometry: Geometry,
screenArea: Padding? = null,
tilt: Tilt? = null,
bearing: Bearing? = null,
size: ScreenSize? = null
): CameraPosition
Calculates the camera position so that a geometric object on the map, located at a fixed camera installation point, fully fits into the screen area defined by the camera padding.
If the original camera settings do not need to be changed, then the camera copied through IBaseCamera::clone() can be used.
camera
Camera used to calculate the position.
geometry
Geometric object to fit into the screen area specified by the screen_area parameter.
screenArea
Area of the screen to fit the geometry into. If not specified, the camera's padding is used for calculation.
tilt
Map tilt. If not specified, the current camera tilt is used.
bearing
Map rotation. If not specified, then the current camera rotation is used.
size
Size of the viewing area. If not specified, the value from ICamera::size() is used.
calcPosition(camera,objects,screenArea,tilt,bearing,size)
fun calcPosition(
camera: BaseCamera,
objects: List<SimpleMapObject>,
screenArea: Padding? = null,
tilt: Tilt? = null,
bearing: Bearing? = null,
size: ScreenSize? = null
): CameraPosition
Calculation of the camera position so that the map objects fully fit into the screen area specified by the screen_area parameter.
camera
Camera used to calculate the position.
objects
Map objects to fit into the screen area specified by the screen_area parameter.
screenArea
Area of the screen to fit the geometry into. If not specified, the camera padding is used for calculation.
tilt
Map tilt. If not specified, the current camera tilt is used.
bearing
Map rotation. If not specified, then the current camera rotation is used.
size
Size of the viewing area. If not specified, the value from ICamera::size() is used.
Color(red,green,blue,alpha)
fun Color(
red: Int,
green: Int,
blue: Int,
alpha: Int = 255
): Color
createRasterTileDataSource(context,sublayerName,urlTemplate)
fun createRasterTileDataSource(
context: Context,
sublayerName: String,
urlTemplate: String
): Source
Creates a source that obtains raster tiles.
context
Context.
sublayerName
Name to be used when generating objects.\nThis name must be specified in the styles as filter condition in the raster layer for the db_sublayer attribute.\nExample: ["match", get, db_sublayer, NAME, true, false]\nFor more information, see the specification: https://docs.2gis.com/en/mapgl/stylespecification
urlTemplate
URL template for requesting tiles must contain the substrings {x}, {y} and {z}. When they are substituted with numeric values, they form a valid URL to which the request for the tile data is sent.
createRawMyLocationController()
fun createRawMyLocationController(): MyLocationController
Uses platform data. Geolocation marker coordinates and orientation change instantly when data is received.
createSmoothMyLocationController()
fun createSmoothMyLocationController(): MyLocationController
Uses map data. Geolocation marker coordinates and orientation change smoothly. When using follow mode, marker changes are synchronized with the camera position changes.
createStyleZoomToTiltRelation(points)
fun createStyleZoomToTiltRelation(points: Map): StyleZoomToTiltRelation
Creates a dependency of the camera tilt angle on the style zoom level.
points
Points on which the dependency is built.
Dependency of the camera tilt angle on the style zoom level, if the dependency could not be created - throws an exception.
The dependency must be a monotonic continuous function. If a dependency that does not satisfy the conditions is specified by the points, the function throws an exception . A dependency, similar to 2GIS, can be specified by a sequence of points 17,0,19,15,20,25 in map mode and 15,0,16,34,17,48 in navigator mode. Let's get the camera tilt angle T for the Z style zoom level, so that Z0 < = Z < Z1 and dependency is given by the points Z0,T0,Z1,T1. Then the desired value is calculated by the formula T = T0 + k * (T1 - T0), where k = (Z - Z0) / (Z1 - Z0).If Z < Z0, then T = T0. If Z >= Z1, then T = T1.
GeoPoint(latitude,longitude)
fun GeoPoint(latitude: Double, longitude: Double): GeoPoint
GeoPointWithElevation(latitude,longitude,elevation)
fun GeoPointWithElevation(
latitude: Double,
longitude: Double,
elevation: Elevation = Elevation(0.0f)
): GeoPointWithElevation
GeoPointWithElevation(point,elevation)
fun GeoPointWithElevation(point: GeoPoint, elevation: Elevation = Elevation(0.0f)): GeoPointWithElevation
getHttpCacheManager(context)
fun getHttpCacheManager(context: Context): HttpCacheManager?
HTTP cache management interface. Null, if HTTP cache is not used.
getInstructionManeuver(extraInstructionInfo)
getLanesControlImages(laneSign,maxCount,ignoreActiveManeuver)
getLocaleManager(context)
fun getLocaleManager(context: Context): LocaleManager
Application locale management interface.
getPackageManager(context)
fun getPackageManager(context: Context): PackageManager
Gets an object for working with packages from the context.
getRoadMacroGraph(context)
fun getRoadMacroGraph(context: Context): RoadMacroGraph
Gets an object to manage the global road graph from the context.
getSystemMemoryManager(context)
fun getSystemMemoryManager(context: Context): SystemMemoryManager
Gets an object to manage the system memory usage.
getTerritoriesAlongRouteProvider(context)
fun getTerritoriesAlongRouteProvider(context: Context): TerritoriesAlongRouteProvider
Gets an object to get a list of territories along the route from the context.
getTerritoryManager(context)
fun getTerritoryManager(context: Context): TerritoryManager
Gets an object for working with territories from the context.
getVoiceManager(context)
imageFromAsset(context,assetName,size)
fun imageFromAsset(
context: Context,
assetName: String,
size: Size? = null
): Image
context - Android context. assetName - image file. size - target image size (ignored for SVG and Lottie).
imageFromBitmap(context,bitmap)
fun imageFromBitmap(context: Context, bitmap: Bitmap): Image
imageFromBitmap(context,loader)
fun imageFromBitmap(context: Context, loader: Function0<Bitmap>): Image
imageFromCanvas(context,size,block)
fun imageFromCanvas(
context: Context,
size: Size,
block: Function1
): Image
imageFromLottieJSON(context,data)
fun imageFromLottieJSON(context: Context, data: ByteArray): Image
imageFromLottieJSON(context,loader)
fun imageFromLottieJSON(context: Context, loader: Function0<ByteArray>): Image
imageFromResource(context,resourceId,size)
fun imageFromResource(
context: Context,
resourceId: Int,
size: Size? = null
): Image
Context - Android context. resourceId - Android resource. size - target image size (ignored for SVG and Lottie).
imageFromSvg(context,data)
fun imageFromSvg(context: Context, data: ByteArray): Image
imageFromSvg(context,loader)
fun imageFromSvg(context: Context, loader: Function0<ByteArray>): Image
isBetterLocation(location,currentBestLocation)
fun isBetterLocation(location: Location, currentBestLocation: Location?): Boolean
kilometersPerHourToMetersPerSecond(kilometersPerHour)
max(a,b)
metersPerSecondToKilometersPerHour(metersPerSecond)
metersToUiString(meters,context)
min(a,b)
MutableChannel()
fun MutableChannel(): MutableChannel<T>
MutableStatefulChannel(initialValue)
fun MutableStatefulChannel(initialValue: T): MutableStatefulChannel<T>
parseGeoJson(geoJsonData)
fun parseGeoJson(geoJsonData: String): List<GeometryMapObject>
parseGeoJsonFile(fsPath)
fun parseGeoJsonFile(fsPath: String): List<GeometryMapObject>
projectionZToStyleZ(projectionZ,latitude)
fun projectionZToStyleZ(projectionZ: Zoom, latitude: Latitude): StyleZoom
registerPlatformLocationSource(context,source)
fun registerPlatformLocationSource(context: Context, source: LocationSource?): Unit
Registers a geolocation source. You can use DefaultLocationSource as the default source.
registerPlatformMagneticSource(context,source)
fun registerPlatformMagneticSource(context: Context, source: MagneticHeadingSource?): Unit
remainingRouteGeometry(fullRouteGeometry,currentRoutePoint)
fun remainingRouteGeometry(fullRouteGeometry: GeoPointRouteAttribute, currentRoutePoint: RoutePoint): GeoPointRouteAttribute
Calculates the geometry of the remaining part of the route, i.e. the geometry starting at the point corresponding to the current waypoint and continuing to the end of the route. If the route is completely passed or the current point is outside the route, an empty geometry is returned.
fullRouteGeometry
Full geometry of the entire route
currentRoutePoint
Current position on the route
Geometry of the rest of the route
Operation complexity O(N), where N = full_route_geometry.size()
routeMatchesTruckPassZonePasses(truckPassZoneIds,passZonePasses)
fun routeMatchesTruckPassZonePasses(truckPassZoneIds: TruckPassZoneIdRouteLongAttribute, passZonePasses: List<TruckPassZonePass>): Boolean
Checks if the provided list of passes is sufficient to drive through the truck access areas through which the route passes.
If the route does not pass through any truck access areas, the function returns true.
truckPassZoneIds
Attribute of a route with identifiers of access zones for trucks.
passZonePasses
Pass for driving through the truck access zones.
Sign of the sufficiency of passes to travel along the route.
styleZToProjectionZ(styleZ,latitude)
fun styleZToProjectionZ(styleZ: StyleZoom, latitude: Latitude): Zoom
toMapGeometry(geometry)
fun toMapGeometry(geometry: GeoPointRouteAttribute): Geometry
Converts route geometry to IGeometryPtr.
zoomOutToFit(camera,geometry,size)
fun zoomOutToFit(
camera: BaseCamera,
geometry: Geometry,
size: ScreenSize? = null
): CameraPosition
Calculates the camera position so that a geometric object on the map, located at a fixed camera installation point, fits into the screen area defined by the camera padding.
If the original camera settings do not need to be changed, then the camera copied through IBaseCamera::clone() can be used.
camera
Camera used to calculate the position.
geometry
Geometric object to fit into the screen area specified by the camera padding.
size
Size of the viewing area. If not specified, the value from ICamera::size() is used.
zoomOutToFit(camera,objects,size)
fun zoomOutToFit(
camera: BaseCamera,
objects: List<SimpleMapObject>,
size: ScreenSize? = null
): CameraPosition
Calculates the camera position so that with the camera installation point unchanged, the geometric object located on the map fits into the screen area specified by the camera padding.
camera
Camera used to calculate the position.
objects
Map objects to fit into the screen area specified by the camera padding.
size
Size of the viewing area. If not specified, the value from ICamera::size() is used.