method
calcPosition(camera:geometry:screenArea:tilt:bearing:size:)
public func calcPosition(
camera: BaseCamera,
geometry: Geometry,
screenArea: Padding? = nil,
tilt: Tilt? = nil,
bearing: Bearing? = nil,
size: ScreenSize? = nil
) -> CameraPosition
Calculating the camera position such that the geometric object located on the map completely fits into the screen area specified by the screen_area parameter.<p>If you do not need to change the settings of the original camera, you can configure the camera copied through IBaseCamera::clone().</p>
Parameters
camera
Camera used to calculate the position.
geometry
Geometric object to fit into the screen area specified by the screen_area parameter.
screenArea
Screen area to embed geometry. If not set, camera padding is used for calculation.
tilt
Tilt
bearing
Bearing
size
The size of the viewing area. If not specified, the ICamera::size() value is used.
Returns
calcPosition(camera:objects:screenArea:tilt:bearing:size:)
public func calcPosition(
camera: BaseCamera,
objects: [SimpleMapObject],
screenArea: Padding? = nil,
tilt: Tilt? = nil,
bearing: Bearing? = nil,
size: ScreenSize? = nil
) -> CameraPosition
Calculating the camera position such that the map objects are completely embedded in the screen area defined by the screen_area parameter.
Parameters
camera
Camera used to calculate the position.
objects
Map objects to be embedded in the screen area specified by the screen_area parameter.
screenArea
Screen area to embed geometry. If not set, camera padding is used for calculation.
tilt
Tilt
bearing
Bearing
size
The size of the viewing area. If not specified, the ICamera::size() value is used.
Returns
createRasterTileDataSource(context:sublayerName:urlTemplate:)
public func createRasterTileDataSource(
context: Context,
sublayerName: String,
urlTemplate: String
) -> Source
Create a source that receives raster tiles.
Parameters
context
Context.
sublayerName
Name to be used when generating objects. This name must be specified in the styles in the filter condition of a raster layer for the db_sublayer attribute. Example: [“match”, [“get”, “db_sublayer”], [“NAME”], true, false]. For details, see the specification: https://docs.2gis.com/ru/mapgl/stylespecification
urlTemplate
The url template for the tile request, must contain substring {x}, {y} and {z}, which when substituted with numeric values form a valid URL to which a request for tile data will be sent.
Returns
createRawMyLocationController()
public func createRawMyLocationController() -> MyLocationController
Uses platform data. The coordinates and orientation of the geopositioning marker change instantly when the data is received.
Returns
createSmoothMyLocationController()
public func createSmoothMyLocationController() -> MyLocationController
Uses map data. The coordinates and orientation of the geopositioning marker change smoothly. When using the tracking mode, marker changes are synchronized with camera position changes.
Returns
createStyleZoomToTiltRelation(points:)
public func createStyleZoomToTiltRelation(
points: [StyleZoom: Tilt]
) -> StyleZoomToTiltRelation
Create a dependence of the camera tilt angle on the style zoom level.
Returns
StyleZoomToTiltRelationDependence of the camera tilt angle on the style zoom level, if the dependence could not be created - throw an exception.
getHttpCacheManager(context:)
public func getHttpCacheManager(
context: Context
) -> HttpCacheManager?
HTTP cache management interface. Null if HTTP cache is not used.
Parameters
getInstructionManeuver(extraInstructionInfo:)
public func getInstructionManeuver(
extraInstructionInfo: ExtraInstructionInfo
) -> InstructionManeuver
Get the maneuver required to move along the route.
Parameters
getLanesControlImages(laneSign:maxCount:ignoreActiveManeuver:)
public func getLanesControlImages(
laneSign: RouteLaneSign,
maxCount: UInt32,
ignoreActiveManeuver: Bool
) -> [LanesControlImage]
Get the list of images to be displayed in the lane control. The number of images (not including separators and dots) is limited to maxCount; if this is exceeded, the images on one or both sides are cropped so that as many active maneuver images as possible remain. On the side where the deletion occurred, a ellipsis is displayed. If ignoreActiveManeuver is true, the active maneuver is ignored and the image corresponding to all allowed directions of movement is returned.
Parameters
getLocaleManager(context:)
public func getLocaleManager(
context: Context
) -> LocaleManager
Interface to manage application locales.
Parameters
getPackageManager(context:)
public func getPackageManager(
context: Context
) -> PackageManager
Get an object to work with packages from the context.
Parameters
getRoadMacroGraph(context:)
public func getRoadMacroGraph(
context: Context
) -> RoadMacroGraph
Obtaining an object to control the global road graph from the context.
Parameters
getSystemMemoryManager(context:)
public func getSystemMemoryManager(
context: Context
) -> SystemMemoryManager
Getting an object to manage the use of system memory.
Parameters
getTerritoriesAlongRouteProvider(context:)
public func getTerritoriesAlongRouteProvider(
context: Context
) -> TerritoriesAlongRouteProvider
Getting an object to get a list of territories along the route from the context.
Parameters
getTerritoryManager(context:)
public func getTerritoryManager(
context: Context
) -> TerritoryManager
Getting an object to work with territories from the context.
Parameters
getVoiceManager(context:)
public func getVoiceManager(
context: Context
) -> VoiceManager
Getting an object to manage voices from the context.
Parameters
parseGeoJson(geoJsonData:)
public func parseGeoJson(
geoJsonData: String
) -> [GeometryMapObject]
Parameters
parseGeoJsonFile(fsPath:)
public func parseGeoJsonFile(
fsPath: String
) -> [GeometryMapObject]
Parameters
projectionZToStyleZ(projectionZ:latitude:)
public func projectionZToStyleZ(
projectionZ: Zoom,
latitude: Latitude
) -> StyleZoom
Parameters
remainingRouteGeometry(fullRouteGeometry:currentRoutePoint:)
public func remainingRouteGeometry(
fullRouteGeometry: GeoPointRouteAttribute,
currentRoutePoint: RoutePoint
) -> GeoPointRouteAttribute
Calculates the geometry of the rest of the route, i.e. the geometry starting from the point corresponding to the current route point to the end of the route. If the route is completely passed or if the current point is outside the route, an empty geometry is returned.
Parameters
fullRouteGeometry
Full geometry of the entire route.
currentRoutePoint
Current position on the route.
Returns
GeoPointRouteAttributeGeometry of the rest of the route.
routeMatchesTruckPassZonePasses(truckPassZoneIds:passZonePasses:)
public func routeMatchesTruckPassZonePasses(
truckPassZoneIds: TruckPassZoneIdRouteLongAttribute,
passZonePasses: [TruckPassZonePass]
) -> Bool
Checks whether the list of passes provided is sufficient to enter the truck pass zones through which the route passes.
Parameters
truckPassZoneIds
Route attribute with truck pass zone identifiers.
passZonePasses
Passes for passing through truck pass zones.
Returns
BoolSignifies whether there are enough passes to pass a route.
styleZToProjectionZ(styleZ:latitude:)
public func styleZToProjectionZ(
styleZ: StyleZoom,
latitude: Latitude
) -> Zoom
Parameters
toMapGeometry(geometry:)
public func toMapGeometry(
geometry: GeoPointRouteAttribute
) -> Geometry
Convert route geometry to IGeometryPtr.
Parameters
zoomOutToFit(camera:geometry:size:)
public func zoomOutToFit(
camera: BaseCamera,
geometry: Geometry,
size: ScreenSize? = nil
) -> CameraPosition
Calculating the camera position, such that with the camera installation point unchanged, the geometric object on the map fits into the screen area specified by the camera padding.<p>If you do not need to change the original camera settings, you can configure the camera copied through IBaseCamera::clone().</p>
Parameters
camera
Camera used to calculate the position.
geometry
Geometric object to fit into the screen area specified by the camera's padding.
size
Size of the viewing area. If not specified, the ICamera::size() value is used.
Returns
zoomOutToFit(camera:objects:size:)
public func zoomOutToFit(
camera: BaseCamera,
objects: [SimpleMapObject],
size: ScreenSize? = nil
) -> CameraPosition
Calculating the camera position, so that with a constant camera position, the geometric object on the map fits into the screen area defined by the camera padding.
Parameters
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 ICamera::size() value is used.
Returns