Skip to main content

Enums

An enum property takes either the name or the number. The name is the portable one — the numbers are an implementation detail of the C++ enum and may shift when a value is inserted.

AnimationType

Value#Description
ANIMATION_TYPE_NONE0No animation is applied.
ANIMATION_TYPE_STEP1Step transition is applied at the middle of the animation.
ANIMATION_TYPE_LINEAR2Linear transition is used for animation.
ANIMATION_TYPE_SMOOTHSTEP3Smooth transition with 2nd order continuity is used for animation.
ANIMATION_TYPE_SPRING4Spring-like transition is used for animation.

BillboardOrientation

Value#Description
BILLBOARD_ORIENTATION_FACE_CAMERA0Billboard always faces the camera plane, regardless of rotation.
BILLBOARD_ORIENTATION_FACE_CAMERA_GROUND1Billboard lies parallel to the ground and rotates around it's anchor point to face the camera. SetRotation can be used to offset the final angle of the billboard.
BILLBOARD_ORIENTATION_GROUND2Billboard lies on the ground, orientation does not depend on the camera position.

BillboardScaling

Value#Description
BILLBOARD_SCALING_WORLD_SIZE0Billboard has a constant world space size. Zooming causes the billboard to get smaller or bigger on the screen.
BILLBOARD_SCALING_SCREEN_SIZE1Billboard's size on screen is unaffected by zooming, but billboards that are further away from the camera get smaller when the tilt angle is < 90.
BILLBOARD_SCALING_CONST_SCREEN_SIZE2Billboard's screen size is always the same, regardless of the zoom level, tilt angle or billboard's position.

massif

Value#Description
PACKAGES_ADDED0
PACKAGES_DELETED1

ClickType

Value#Description
CLICK_TYPE_SINGLE0A click caused by pressing down and then releasing the screen.
CLICK_TYPE_LONG1A click caused by pressing down but not releasing the screen.
CLICK_TYPE_DOUBLE2A click caused by two fast consecutive taps on the screen.
CLICK_TYPE_DUAL3A click caused by two simultaneous taps on the screen.

ClusterBuilderMode

Value#Description
CLUSTER_BUILDER_MODE_ELEMENTS0Cluster builder receives full list of elements in the cluster. This mode is more expensive compared to the light mode.
CLUSTER_BUILDER_MODE_ELEMENT_COUNT1Cluster builder receives element count in the cluster. This mode is less expensive compared to the full mode.

ColorFormat

Value#Description
COLOR_FORMAT_UNSUPPORTED0Options for identifiny unsupported image formats.
COLOR_FORMAT_BGRA1An image format that describes images with four channels, one for each color: blue, green and red and one for alpha. This color format will be converted to RGBA.
COLOR_FORMAT_RGBA_44442An image format that describes images with four channels, one for each color: red, green, and blue and one for alpha. Each color is only four bits. This color format will be converted to RGBA.
COLOR_FORMAT_RGB_5653An image format that describes images with three channels, one for each color: red, green, and blue. Red and blue colors are each packed into 5 bits, green into 6 bits. This color format will be converted to RGB.

massif

Value#Description
NOP0
DOWNLOAD_PACKAGE_LIST1
DOWNLOAD_PACKAGE2
IMPORT_PACKAGE3
REMOVE_PACKAGE4
DOWNLOAD_STYLE5

CompositeSourceType

Value#Description
COMPOSITE_SOURCE_TYPE_RASTER0A raster tile source, drawn as a RasterTileLayer at its style slot.
COMPOSITE_SOURCE_TYPE_HILLSHADE1An RGB-encoded elevation source, drawn as a HillshadeRasterTileLayer at its style slot.
COMPOSITE_SOURCE_TYPE_VECTOR2Another MBVT/protobuf source (including ContourTileDataSource), drawn at its style slot as its own child VectorTileLayer using the master decoder, filtered to its own layer name. Kept separate (not merged) so it overzooms independently via its own MaxOverzoomLevel and does not need the DEM at the target zoom.

FreeRoamMode

Value#Description
FREE_ROAM_MODE_OFF0Off: the standard map gestures. A one-finger drag pans the map.
FREE_ROAM_MODE_LOOK1Look: a one-finger drag looks around instead of panning - sideways turns the heading about the camera, up and down tilts the map the way the two-finger tilt does, so the camera still orbits its focus point. Panning moves to a two-finger drag; pinch and two-finger rotation are unchanged.
FREE_ROAM_MODE_FIRST_PERSON2First person: the camera stops orbiting anything. A one-finger drag turns the view about the CAMERA on both axes, like a mouse in a first person game - the position never changes - and a two-finger drag moves, forward/back and strafing, the way the keys would. Pinch and two-finger rotation are off, since neither belongs to that control scheme. The camera model applies to every source, not just to touch: setTilt and setMapRotation turn the view in place too, so a camera driven by the device's orientation behaves exactly like the drag.

GeometryType

Value#Description
GEOMETRY_TYPE_POINT0A single position.
GEOMETRY_TYPE_LINE1An ordered list of positions.
GEOMETRY_TYPE_POLYGON2An outer ring and any number of holes.
GEOMETRY_TYPE_MULTIPOINT3Several points.
GEOMETRY_TYPE_MULTILINE4Several lines.
GEOMETRY_TYPE_MULTIPOLYGON5Several polygons.
GEOMETRY_TYPE_COLLECTION6A mixed collection.

HillshadeMethod

Value#Description
STANDARD0MapLibre's legacy hillshade algorithm.
COMBINED1Combined hillshade algorithm based on GDAL.
IGOR2Igor hillshade algorithm based on GDAL.
MULTIDIRECTIONAL3Multi-directional hillshade based on GDAL: four light sources at 225, 270, 315 and 360 degrees weighted by the aspect. Ignores the illumination azimuth, uses only its altitude.
BASIC4Basic hillshade algorithm based on GDAL.

LineEndType

Value#Description
LINE_END_TYPE_NONE0No line end points are drawn.
LINE_END_TYPE_SQUARE1Line end points are drawn as squares.
LINE_END_TYPE_ROUND2Line end points are drawn as half circles.

LineJoinType

Value#Description
LINE_JOIN_TYPE_NONE0Line segments are not connected with each other. The fastest and ugliest.
LINE_JOIN_TYPE_MITER1Line segments are connected with each other using miter connections. This is the preferred mode (fast and good looking generally).
LINE_JOIN_TYPE_BEVEL2Line segments are connected with each other using bevel (straight line) connectors. Fast but results in an unnatural line.
LINE_JOIN_TYPE_ROUND3Line segments are connected with each other using circle sectors resulting in round corners. Slowest and prettiest.

LocalSpatialIndexType

Value#Description
LOCAL_SPATIAL_INDEX_TYPE_NULL0Null index, fastest if few elements are used. No element culling is performed.
LOCAL_SPATIAL_INDEX_TYPE_KDTREE1K-d tree index, element culling is exact and fast.

MBTilesScheme

Value#Description
MBTILES_SCHEME_TMS0The default scheme. Vertical coordinate is not flipped.
MBTILES_SCHEME_XYZ1Alternative to TMS scheme. Vertical coordinate is flipped.

MapMoveReason

Value#Description
MAP_MOVE_REASON_GESTURE0The user, directly: a gesture, a mouse wheel, or the inertia that follows one.
MAP_MOVE_REASON_ANIMATION1An animation the SDK is stepping - a flight, or a move given a duration. The call that started it reported the reason it was made with; every frame after that is this one.
MAP_MOVE_REASON_API2The app, through a call that took effect immediately: setFocusPos, setZoom, an option change that moved the camera.

PackageAction

Value#Description
PACKAGE_ACTION_READY0Package is ready.
PACKAGE_ACTION_WAITING1Package is waiting in the task queue.
PACKAGE_ACTION_DOWNLOADING2Package is being downloaded.
PACKAGE_ACTION_COPYING3Package data is being copied.
PACKAGE_ACTION_REMOVING4Package is being removed.

massif

Value#Description
PACKAGES_UPDATED0
PACKAGES_ADDED1
PACKAGES_DELETED2

PackageErrorType

Value#Description
PACKAGE_ERROR_TYPE_SYSTEM0Internal or system error.
PACKAGE_ERROR_TYPE_CONNECTION1Connection or network error.
PACKAGE_ERROR_TYPE_DOWNLOAD_LIMIT_EXCEEDED2The number of downloaded packages exceeded subscription limit.
PACKAGE_ERROR_TYPE_PACKAGE_TOO_BIG3The bounding box of the package contains too many tiles. This error is only returned for custom bounding box packages.
PACKAGE_ERROR_TYPE_NO_OFFLINE_PLAN4The license does not allow downloading offline packages.

PackageTileStatus

Value#Description
PACKAGE_TILE_STATUS_MISSING0Tile is not part of the package.
PACKAGE_TILE_STATUS_PARTIAL1Tile is part of the package, but package does not fully cover it. This value is no longer used, thus this is deprecated.
PACKAGE_TILE_STATUS_FULL2Tile if part of the package and package fully covers it.

PackageType

Value#Description
PACKAGE_TYPE_MAP0Map package.
PACKAGE_TYPE_ROUTING1Routing package.
PACKAGE_TYPE_GEOCODING2Geocoding package.
PACKAGE_TYPE_VALHALLA_ROUTING3Valhalla routing package.

PanningMode

Value#Description
PANNING_MODE_FREE0Free panning means that the map panning is unrestricted, user is able to zoom, rotate and pan the map at the same time without any artificial limits.
PANNING_MODE_STICKY1Sticky panning means that the map panning is restricted, user is able to freely pan the map, but zooming and rotating gestures can't be performed at the same time. User is still able to switch between zooming and rotating the map but it takes a bit more effort compared to FREE panning. gesture is performed and
PANNING_MODE_STICKY_FINAL2Final sticky panning means that the map panning is restricted, user is able to freely pan the map, but zooming and rotating gestures can't be performed at the same time. Once the gesture type is determined the user is stuck with either zooming or rotating. To switch the gesture the user has to lift at least one the two fingers off the screen.

PanningSpeedMode

Value#Description
PANNING_SPEED_MODE_MAP0The map point under the finger follows it exactly, which is what a flat map does. On a tilted view the speed then changes DURING the gesture: a drag that starts near the camera and travels up the screen accelerates as the finger reaches parts of the screen that are further away.
PANNING_SPEED_MODE_ANCHORED1The scale is measured where the pan STARTS and stays fixed for the whole gesture: starting far away still pans fast and starting close still pans slowly, but the speed never changes while the finger is down. The default.
PANNING_SPEED_MODE_CONSTANT2The scale is measured at the centre of the screen, so it depends neither on where the finger started nor on where it goes - every pan moves the map at the same rate.

PivotMode

Value#Description
PIVOT_MODE_TOUCHPOINT0The touch point (or middle point between 2 finger touches) is used as the pivot point.
PIVOT_MODE_CENTERPOINT1Screen center is always used for pivot point.

RasterTileFilterMode

Value#Description
RASTER_TILE_FILTER_MODE_NEAREST0No filter (nearest texel).
RASTER_TILE_FILTER_MODE_BILINEAR1Bilinear filter (interpolate between 4 closest texels).
RASTER_TILE_FILTER_MODE_BICUBIC2Bicubic filter (interpolate between 16 closest texels).

RenderProjectionMode

Value#Description
RENDER_PROJECTION_MODE_PLANAR0Planar projection.
RENDER_PROJECTION_MODE_SPHERICAL1Spherical projection.

RouteMatchingPointType

Value#Description
ROUTE_MATCHING_POINT_UNMATCHED0The point was unmatched.
ROUTE_MATCHING_POINT_INTERPOLATED1The point was interpolated.
ROUTE_MATCHING_POINT_MATCHED2The point was matched.

RoutingAction

Value#Description
ROUTING_ACTION_HEAD_ON0Head on, start the route.
ROUTING_ACTION_FINISH1Finish the route.
ROUTING_ACTION_NO_TURN2Continue along the given street, do not turn.
ROUTING_ACTION_GO_STRAIGHT3Go straight.
ROUTING_ACTION_TURN_RIGHT4Turn right.
ROUTING_ACTION_UTURN5Do an u-turn.
ROUTING_ACTION_TURN_LEFT6Turn left.
ROUTING_ACTION_REACH_VIA_LOCATION7Reached given via point. If this is the final point, FINISH action is used instead.
ROUTING_ACTION_ENTER_ROUNDABOUT8Enter roundabout. Used by Valhalla and OSRM.
ROUTING_ACTION_LEAVE_ROUNDABOUT9Leave roundabout. Used by Valhalla and OSRM.
ROUTING_ACTION_STAY_ON_ROUNDABOUT10Continue along the roundabout. Only used by OSRM.
ROUTING_ACTION_START_AT_END_OF_STREET11Start at the end of the street. Currently used only by OSRM.
ROUTING_ACTION_ENTER_AGAINST_ALLOWED_DIRECTION12Enter street while moving against the allowed direction. Only used by OSRM.
ROUTING_ACTION_LEAVE_AGAINST_ALLOWED_DIRECTION13Leave the street while moving aginst the allowed direction. Only used by OSRM.
ROUTING_ACTION_GO_UP14Go up. Only used by the SGRE.
ROUTING_ACTION_GO_DOWN15Go down. Only used by SGRE.
ROUTING_ACTION_WAIT16Wait. Only used by SGRE.
ROUTING_ACTION_ENTER_FERRY17Enter ferry. Only used by Valhalla.
ROUTING_ACTION_LEAVE_FERRY18Leave ferry. Only used by Valhalla.

SkyQuality

Value#Description
SKY_QUALITY_LOW05 samples along the view ray, 3 towards the sun.
SKY_QUALITY_MEDIUM18 and 4. The default.
SKY_QUALITY_HIGH212 and 5.

SkyType

Value#Description
SKY_TYPE_GRADIENT0A gradient between HorizonColor and SkyColor. What the SDK drew before the atmosphere existed; pick it for a flat, stylised or brand-coloured sky.
SKY_TYPE_ATMOSPHERE1Rayleigh and Mie single scattering, integrated along the view ray. The blue zenith, the reddening at a low sun and the halo around it all come out of the model rather than out of a colour ramp, so the sky follows the time of day on its own.

TerrainFlattenMode

Value#Description
TERRAIN_FLATTEN_MODE_RENDER0Rendering only: the terrain passes, the drape and the elevation fetches are dropped, but the tiles keep the terrain subdivision they were decoded with. Switching costs nothing and is instant, and a flat map still carries a 3D map's triangles.
TERRAIN_FLATTEN_MODE_FULL1The whole way: a flat map decodes, culls and draws as if no terrain were configured. The price is a re-decode at each switch, paid while the map is already flat.

TileFormat

Value#Description
TILE_FORMAT_AUTO0Detect the format from the tile data. The two are unambiguous in practice, but set the format explicitly when the source is known - it skips the check and cannot be fooled.
TILE_FORMAT_MVT1MapBox Vector Tile, the protobuf format.
TILE_FORMAT_MLT2MapLibre Tile, the columnar format. Smaller tiles and faster decoding, but the whole tile is decoded at once - MVT decodes only the layers and attributes the style asks for.

TileLODProfile

Value#Description
TILE_LOD_PROFILE_REFERENCE0The reference density: TileLODFactor 1, which is tangram's rule, mapbox's and maplibre's alike - a tile is refined while it covers more than a 2x2 block of nominal tiles. Fewest tiles, and what every reference renderer ships.
TILE_LOD_PROFILE_MOBILE1Half a level finer than the reference, with a shorter style zoom lift. Meant for a phone: visibly sharper than the reference at roughly twice its tile count.
TILE_LOD_PROFILE_DESKTOP2A full level finer than the reference (TileLODFactor 0.5, the historical default), about 4x its tile count. Meant for a desktop or a web page on a real GPU.

TileSubstitutionPolicy

Value#Description
TILE_SUBSTITUTION_POLICY_ALL0Consider all cached/loaded tiles.
TILE_SUBSTITUTION_POLICY_VISIBLE1Consider only tiles that are currently visible. This is recommended for low-latency data sources, like offline sources.
TILE_SUBSTITUTION_POLICY_NONE2Never substitute tiles.

VariantType

Value#Description
VARIANT_TYPE_NULL0Null element.
VARIANT_TYPE_STRING1String element.
VARIANT_TYPE_BOOL2Boolean element.
VARIANT_TYPE_INTEGER3Integer element.
VARIANT_TYPE_DOUBLE4Double-precision floating point element.
VARIANT_TYPE_ARRAY5Array element.
VARIANT_TYPE_OBJECT6Object (dictionary) element.

VectorElementDragMode

Value#Description
VECTOR_ELEMENT_DRAG_MODE_VERTEX0A single vertex is being moved.
VECTOR_ELEMENT_DRAG_MODE_ELEMENT1The whole vector element is being moved.

VectorElementDragPointStyle

Value#Description
VECTOR_ELEMENT_DRAG_POINT_STYLE_NORMAL0Normal control point. Corresponds to vertex.
VECTOR_ELEMENT_DRAG_POINT_STYLE_VIRTUAL1Virtual control point (midpoint between actual vertices). Used for lines and polygons.
VECTOR_ELEMENT_DRAG_POINT_STYLE_SELECTED2Selected control point.

VectorElementDragResult

Value#Description
VECTOR_ELEMENT_DRAG_RESULT_IGNORE0Dragging should be ignored. The input event will be passed on to other handlers.
VECTOR_ELEMENT_DRAG_RESULT_STOP1Dragging should be ignored. The input event is not passed on to other handlers.
VECTOR_ELEMENT_DRAG_RESULT_MODIFY2The underlying vector element (or vertex) should be modified.
VECTOR_ELEMENT_DRAG_RESULT_DELETE3The underlying vector element or vertex should be deleted.

VectorTileRenderOrder

Value#Description
VECTOR_TILE_RENDER_ORDER_HIDDEN-1No rendering, elements are hidden.
VECTOR_TILE_RENDER_ORDER_LAYER0Elements are rendered together with the same layer elements. Layers that are on top of the layers are rendered on top this layer.
VECTOR_TILE_RENDER_ORDER_LAST1Elements are rendered on top of all normal layers.