Root
Root level properties of a Mapbox style specify the map's layers, tile sources and other resources, and default values for the initial camera position when not specified elsewhere.
{
"version": 8,
"name": "Mapbox Streets",
"sprite": "mapbox://sprites/mapbox/streets-v{{ref.$version}}",
"glyphs": "mapbox://fonts/mapbox/{fontstack}/{range}.pbf",
"sources": {...},
"layers": [...]
}
There are some root level properties, including owner
and modified
, that are not documented here because they do not affect how a style is rendered. For the full list of these properties and their descriptions, see the example style object in the Mapbox Styles API documentation.
layers
Layers will be drawn in the order of this array.
[
{
"id": "water",
"source": "mapbox-streets",
"source-layer": "water",
"type": "fill",
"paint": {
"fill-color": "#00ffff"
}
}
]
sources
Data source specifications.
{
"mapbox-streets": {
"type": "vector",
"url": "mapbox://mapbox.mapbox-streets-v6"
}
}
version
Style specification version number. Must be 8.
8
bearing
0
. Default bearing, in degrees. The bearing is the compass direction that is "up"; for example, a bearing of 90° orients the map so that east is up. This value will be used only if the map has not been positioned by other means (e.g. map options or user interaction).
29
camera
Global setting to control additional camera intrinsics parameters, e.g. projection type (perspective / orthographic).
center
Default map center in longitude and latitude. The style center will be used only if the map has not been positioned by other means (e.g. map options or user interaction).
[
-73.9749,
40.7736
]
color-theme
A global modifier for the colors of the style.
featuresets
Defines sets of features for querying, interaction, and state management on the map, referencing individual layers or subsets of layers within the map's style.
{
"poi": {
"selectors": [
{
"layer": "poi",
"properties": {
"type": [
"get",
"type"
],
"name": [
"get",
"name"
],
"brand": "ABC"
}
}
]
}
}
fog
A global effect that fades layers and markers based on their distance to the camera. The fog can be used to approximate the effect of atmosphere on distant objects and enhance the depth perception of the map when used with terrain or 3D features. Note: fog is renamed to atmosphere in the Android and iOS SDKs and planned to be changed in GL-JS v.3.0.0.
fragment
Indicates that a style is a fragment style.
true
glyphs
"mapbox://fonts/mapbox/{fontstack}/{range}.pbf"
. A URL template for loading signed-distance-field glyph sets in PBF format. The URL must include {fontstack}
and {range}
tokens. This property is required if any layer uses the text-field
layout property. The URL must be absolute, containing the scheme, authority and path components.
"mapbox://fonts/mapbox/{fontstack}/{range}.pbf"
imports
Imports other styles into this style.
SDK Support | Mapbox GL JS | Android SDK | iOS SDK |
---|---|---|---|
basic functionality | >= 3.0.0 | >= 11.0.0 | >= 11.0.0 |
indoor
Controls the behaviour of indoor features.
light
The global light source. Note: This API is deprecated. Prefer using flat
light type instead in the lights
API.
{
"anchor": "viewport",
"color": "white",
"intensity": 0.4
}
lights
Array of light sources affecting the whole map and the default for 3D style, mutually exclusive with the light property
[
{
"id": "environment",
"type": "ambient",
"properties": {
"color": "rgba(255.0, 0.0, 0.0, 1.0)",
"intensity": 0.4
}
},
{
"id": "sun_light",
"type": "directional",
"properties": {
"color": "rgba(255.0, 0.0, 0.0, 1.0)",
"intensity": 0.4,
"direction": [
200,
40
],
"cast-shadows": true,
"shadow-intensity": 0.2
}
}
]
SDK Support | Mapbox GL JS | Android SDK | iOS SDK |
---|---|---|---|
basic functionality | >= 3.0.0 | >= 11.0.0 | >= 11.0.0 |
metadata
Arbitrary properties useful to track with the stylesheet, but do not influence rendering. Properties should be prefixed to avoid collisions, like 'mapbox:'.
models
Specification of models used in the style.
{
"spruce1-lod0": "asset://spruce1-lod0.glb",
"spruce1-lod1": "asset://spruce1-lod1.glb",
"spruce1-lod2": "asset://spruce1-lod2.glb"
}
name
A human-readable name for the style.
"Bright"
pitch
0
. Default pitch, in degrees. Zero is perpendicular to the surface, for a look straight down at the map, while a greater value like 60 looks ahead towards the horizon. The style pitch will be used only if the map has not been positioned by other means (e.g. map options or user interaction).
50
projection
The projection the map should be rendered in. Supported projections are Mercator, Globe, Albers, Equal Earth, Equirectangular (WGS84), Lambert conformal conic, Natural Earth, and Winkel Tripel. Terrain, sky and fog are supported by only Mercator and globe. CustomLayerInterface is not supported outside of Mercator.
{
"name": "albers",
"center": [
-154,
50
],
"parallels": [
55,
65
]
}
rain
Global precipitation particle-based rain effect. Having rain present in the style forces constant map repaint mode.
schema
Definition of the schema for configuration options.
SDK Support | Mapbox GL JS | Android SDK | iOS SDK |
---|---|---|---|
basic functionality | >= 3.0.0 | >= 11.0.0 | >= 11.0.0 |
snow
Global precipitation particle-based snow. Having snow present in the style forces constant map repaint mode
sprite
A base URL for retrieving the sprite image and metadata. The extensions .png
, .json
and scale factor @2x.png
will be automatically appended. This property is required if any layer uses the background-pattern
, fill-pattern
, line-pattern
, fill-extrusion-pattern
, or icon-image
properties. The URL must be absolute, containing the scheme, authority and path components.
"mapbox://sprites/mapbox/bright-v8"
terrain
A global modifier that elevates layers and markers based on a DEM data source.
transition
A global transition definition to use as a default across properties, to be used for timing transitions between one value and the next when no property-specific transition is set. Collision-based symbol fading is controlled independently of the style's transition
property.
{
"duration": 300,
"delay": 0
}
zoom
Default zoom level. The style zoom will be used only if the map has not been positioned by other means (e.g. map options or user interaction).
12.5