Style
public final class Style : StyleProtocol
Style provides access to the APIs used to dynamically modify the map’s style. Use it to read and write layers, sources, and images. Obtain the Style instance for a MapView via MapView.mapboxMap.style.
Note: Style should only be used from the main thread.
-
Undocumented
Declaration
Swift
public private(set) weak var styleManager: StyleManager! { get }
-
Adds a
layerto the mapThrows
StyleError or type conversion errors
Declaration
Swift
public func addLayer(_ layer: Layer, layerPosition: LayerPosition? = nil) throwsParameters
layerThe layer to apply on the map
layerPositionPosition at which to add the map.
-
Adds a persistent
layerto the map Persistent layers are valid across style changes.Throws
StyleError or type conversion errors
Declaration
Swift
public func addPersistentLayer(_ layer: Layer, layerPosition: LayerPosition? = nil) throwsParameters
layerThe layer to apply on the map
layerPositionPosition at which to add the map.
-
Moves a
layerto a new layer position in the style.Throws
StyleErroron failure, orNSErrorwith a _domain of “com.mapbox.bindgen”Declaration
Swift
public func moveLayer(withId id: String, to position: LayerPosition) throwsParameters
layerIdThe layer to move
positionThe new position to move the layer to
-
Gets a
layerfrom the mapThrows
StyleError or type conversion errors
Declaration
Swift
public func layer<T>(withId id: String, type: T.Type) throws -> T where T : LayerParameters
idThe id of the layer to be fetched
typeThe type of the layer that will be fetched
Return Value
The fully formed
layerobject of type equal totype -
Gets a
layerfrom the map.This function is useful if you do not know the concrete type of the layer you are fetching, or don’t need to know for your situation.
Throws
Type conversion errors
Declaration
Swift
public func layer(withId id: String) throws -> LayerParameters
layerIDThe id of the layer to be fetched
Return Value
The fully formed
layerobject. -
Updates a layer that exists in the style already
Throws
StyleError or type conversion errors
Declaration
Swift
public func updateLayer<T>(withId id: String, type: T.Type, update: (inout T) throws -> Void) throws where T: LayerParameters
ididentifier of layer to update
typeType of the layer
updateClosure that mutates a layer passed to it
-
Adds a source to the map
Throws
StyleError or type conversion errors
Declaration
Swift
public func addSource(_ source: Source, id: String) throwsParameters
sourceThe source to add to the map.
identifierA unique source identifier.
-
Retrieves a source from the map
Throws
StyleError or type conversion errors
Declaration
Swift
public func source<T>(withId id: String, type: T.Type) throws -> T where T : SourceParameters
idThe id of the source to retrieve
typeThe type of the source
Return Value
The fully formed
sourceobject of type equal totype. -
Retrieves a source from the map
This function is useful if you do not know the concrete type of the source you are fetching, or don’t need to know for your situation.
Throws
Type conversion errors.Declaration
Swift
public func source(withId id: String) throws -> SourceParameters
idThe id of the source to retrieve.
Return Value
The fully formed
sourceobject. -
Updates the
dataproperty of a givenGeoJSONSourcewith a new value conforming to theGeoJSONObjectprotocol.Throws
StyleError or type conversion errors
Attention
This method is only effective with sources of
GeoJSONSourcetype, and cannot be used to update other source types.Declaration
Swift
public func updateGeoJSONSource(withId id: String, geoJSON: GeoJSONObject) throwsParameters
idThe identifier representing the GeoJSON source.
geoJSONThe new GeoJSON to be associated with the source data. i.e. a feature or feature collection.
-
trueif and only if the style JSON contents, the style specified sprite and sources are all loaded, otherwise returnsfalse.Declaration
Swift
public var isLoaded: Bool { get } -
Get or set the style URI
Setting a new style is asynchronous. In order to get the result of this operation, listen to
MapEvents.styleDataLoaded,MapEvents.styleLoaded.Attention
This method should be called on the same thread where the MapboxMap object is initialized.Declaration
Swift
public var uri: StyleURI? { get set } -
Get or set the style via a JSON serialization string
Attention
This method should be called on the same thread where the MapboxMap object is initialized.Declaration
Swift
public var JSON: String { get set } -
The map style’s default camera, if any, or a default camera otherwise. The map style default camera is defined as follows:
The style default camera is re-evaluated when a new style is loaded.
Declaration
Swift
public var defaultCamera: CameraOptions { get } -
Get or set the map style’s transition options.
By default, the style parser will attempt to read the style default transition options, if any, falling back to an immediate transition otherwise.
The style transition is re-evaluated when a new style is loaded.
Attention
Overridden transition options are reset once a new style has been loaded.Declaration
Swift
public var transition: TransitionOptions { get set }
-
Adds a new style layer given its JSON properties
Runtime style layers are valid until they are either removed or a new style is loaded.
See
See Also: https://docs.mapbox.com/mapbox-gl-js/style-spec/#layers
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func addLayer(with properties: [String : Any], layerPosition: LayerPosition?) throwsParameters
propertiesA JSON dictionary of style layer properties.
layerPositionIf not empty, the new layer will be positioned according to
LayerPositionparameters. -
Adds a new persistent style layer given its JSON properties
Persistent style layers remain valid across style reloads.
Throws
An error describing why the operation was unsuccessful
Declaration
Swift
public func addPersistentLayer(with properties: [String : Any], layerPosition: LayerPosition?) throwsParameters
propertiesA JSON dictionary of style layer properties
layerPositionIf not empty, the new layer will be positioned according to
LayerPositionparameters. -
Returns
trueif the id passed in is associated to a persistent layerDeclaration
Swift
public func isPersistentLayer(id: String) throws -> BoolParameters
idThe layer identifier to test
-
Adds a new persistent style custom layer.
Persistent style layers are valid across style reloads.
See
See Also: https://docs.mapbox.com/mapbox-gl-js/style-spec/#layers
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func addPersistentCustomLayer(withId id: String, layerHost: CustomLayerHost, layerPosition: LayerPosition?) throwsParameters
idStyle layer id.
layerHostStyle custom layer host.
layerPositionIf not empty, the new layer will be positioned according to
LayerPositionparameters. -
Adds a new style custom layer.
Runtime style layers are valid until they are either removed or a new style is loaded.
See
See Also: https://docs.mapbox.com/mapbox-gl-js/style-spec/#layers
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func addCustomLayer(withId id: String, layerHost: CustomLayerHost, layerPosition: LayerPosition?) throwsParameters
idStyle layer id.
layerHostStyle custom layer host.
layerPositionIf not empty, the new layer will be positioned according to
LayerPositionparameters. -
Removes an existing style layer
Runtime style layers are valid until they are either removed or a new style is loaded.
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func removeLayer(withId id: String) throwsParameters
idIdentifier of the style layer to remove.
-
Checks whether a given style layer exists.
Runtime style layers are valid until they are either removed or a new style is loaded.
Declaration
Swift
public func layerExists(withId id: String) -> BoolParameters
idStyle layer identifier.
Return Value
trueif the given style layer exists,falseotherwise. -
The ordered list of the current style layers’ identifiers and types
Declaration
Swift
public var allLayerIdentifiers: [LayerInfo] { get }
-
Gets the value of style layer property.
Declaration
Swift
public func layerPropertyValue(for layerId: String, property: String) -> AnyParameters
layerIdStyle layer identifier.
propertyStyle layer property name.
Return Value
The value of the property in the layer with layerId.
-
Gets the value of style layer property.
Declaration
Swift
public func layerProperty(for layerId: String, property: String) -> StylePropertyValueParameters
layerIdStyle layer identifier.
propertyStyle layer property name.
Return Value
The value of the property in the layer with layerId.
-
Sets a JSON value to a style layer property.
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func setLayerProperty(for layerId: String, property: String, value: Any) throwsParameters
layerIdStyle layer identifier.
propertyStyle layer property name.
valueStyle layer property value.
-
Gets the default value of style layer property.
Declaration
Swift
public static func layerPropertyDefaultValue(for layerType: LayerType, property: String) -> StylePropertyValueParameters
layerTypeStyle layer type.
propertyStyle layer property name.
Return Value
The default value of the property for the layers with type layerType.
-
Gets the properties for a style layer.
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func layerProperties(for layerId: String) throws -> [String : Any]Parameters
layerIdlayer id.
Return Value
JSON dictionary representing the layer properties
-
Sets style layer properties.
This method can be used to perform batch update for a style layer properties. The structure of a provided
propertiesvalue must conform to the format for a corresponding layer type.Modification of a layer identifier and/or layer type is not allowed.
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func setLayerProperties(for layerId: String, properties: [String : Any]) throwsParameters
layerIdStyle layer identifier.
propertiesJSON dictionary representing the updated layer properties.
-
Adds a new style source.
See
See Also: https://docs.mapbox.com/mapbox-gl-js/style-spec/#sources
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func addSource(withId id: String, properties: [String : Any]) throwsParameters
idAn identifier for the style source.
propertiesA JSON dictionary of style source properties.
-
Removes an existing style source.
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func removeSource(withId id: String) throwsParameters
idIdentifier of the style source to remove.
-
Checks whether a given style source exists.
Declaration
Swift
public func sourceExists(withId id: String) -> BoolParameters
idStyle source identifier.
Return Value
trueif the given source exists,falseotherwise. -
The ordered list of the current style sources’ identifiers and types
Declaration
Swift
public var allSourceIdentifiers: [SourceInfo] { get }
-
Gets the value of style source property.
Declaration
Swift
public func sourceProperty(for sourceId: String, property: String) -> StylePropertyValueParameters
sourceIdStyle source identifier.
propertyStyle source property name.
Return Value
The value of the property in the source with sourceId.
-
Sets a value to a style source property.
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func setSourceProperty(for sourceId: String, property: String, value: Any) throwsParameters
sourceIdStyle source identifier.
propertyStyle source property name.
valueStyle source property value (JSON value)
-
Gets style source properties.
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func sourceProperties(for sourceId: String) throws -> [String : Any]Parameters
sourceIdStyle source identifier
Return Value
JSON dictionary representing the layer properties
-
Sets style source properties.
This method can be used to perform batch update for a style source properties. The structure of a provided
propertiesvalue must conform to the format for a corresponding source type. Modification of a source type is not allowed.Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func setSourceProperties(for sourceId: String, properties: [String : Any]) throwsParameters
sourceIdStyle source identifier
propertiesA JSON dictionary of Style source properties
-
Gets the default value of style source property.
Declaration
Swift
public static func sourcePropertyDefaultValue(for sourceType: String, property: String) -> StylePropertyValueParameters
sourceTypeStyle source type.
propertyStyle source property name.
Return Value
The default value for the named property for the sources with type sourceType.
-
Updates the image of an image style source.
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func updateImageSource(withId id: String, image: UIImage) throwsParameters
idStyle source identifier.
imageUIImage
-
Adds an image to be used in the style.
This API can also be used for updating an image. If the image id was already added, it gets replaced by the new image.
The image can be used in
icon-image,fill-pattern, andline-pattern.Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func addImage(_ image: UIImage, id: String, sdf: Bool = false, stretchX: [ImageStretches], stretchY: [ImageStretches], content: ImageContent? = nil) throwsParameters
imageImage to add.
idID of the image.
sdfOption to treat whether image is SDF(signed distance field) or not. Setting this to
trueallows template images to be recolored. The default value isfalse.stretchXAn array of two-element arrays, consisting of two numbers that represent the from position and the to position of areas that can be stretched horizontally.
stretchYAn array of two-element arrays, consisting of two numbers that represent the from position and the to position of areas that can be stretched vertically.
contentAn array of four numbers, with the first two specifying the left, top corner, and the last two specifying the right, bottom corner. If present, and if the icon uses icon-text-fit, the symbol’s text will be fit inside the content box.
-
Removes an image from the style.
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func removeImage(withId id: String) throwsParameters
idID of the image to remove.
-
Get an image from the style.
Declaration
Swift
public func image(withId id: String) -> UIImage?Parameters
idID of the image.
Return Value
UIImage representing the data associated with the given ID, or nil if no image is associated with that ID.
-
Sets the style global light source properties.
See
See Also: https://docs.mapbox.com/mapbox-gl-js/style-spec/#light
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func setLight(properties: [String : Any]) throwsParameters
propertiesA dictionary of style light properties values, with their names as key.
-
Sets a value to the style light property.
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func setLightProperty(_ property: String, value: Any) throwsParameters
propertyStyle light property name.
valueStyle light property value.
-
Gets the value of a style light property.
Declaration
Swift
public func lightProperty(_ property: String) -> AnyParameters
propertyStyle light property name.
Return Value
Style light property value.
-
Gets the value of a style light property.
Declaration
Swift
public func lightProperty(_ property: String) -> StylePropertyValueParameters
propertyStyle light property name.
Return Value
Style light property value.
-
Removes terrain from style if it was set.
Declaration
Swift
public func removeTerrain() -
Sets the style global terrain source properties.
See
See Also: https://docs.mapbox.com/mapbox-gl-js/style-spec/#terrain
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func setTerrain(properties: [String : Any]) throwsParameters
propertiesA dictionary of style terrain properties values, with their names as key.
-
Sets a value to the named style terrain property.
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func setTerrainProperty(_ property: String, value: Any) throwsParameters
propertyStyle terrain property name.
valueStyle terrain property value.
-
Gets the value of a style terrain property.
Declaration
Swift
public func terrainProperty(_ property: String) -> AnyParameters
propertyStyle terrain property name.
Return Value
Style terrain property value.
-
Gets the value of a style terrain property.
Declaration
Swift
public func terrainProperty(_ property: String) -> StylePropertyValueParameters
propertyStyle terrain property name.
Return Value
Style terrain property value.
-
Adds a custom geometry to be used in the style.
To add the data, implement the fetchTileFunction callback in the options and call
setCustomGeometrySourceTileData.Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func addCustomGeometrySource(withId id: String, options: CustomGeometrySourceOptions) throwsParameters
idStyle source identifier
optionsSettings for the custom geometry
-
Set tile data of a custom geometry.
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func setCustomGeometrySourceTileData(forSourceId sourceId: String, tileId: CanonicalTileID, features: [Feature]) throwsParameters
sourceIdStyle source identifier
tileIdIdentifier of the tile
featuresAn array of features to add
-
Invalidate tile for provided custom geometry source.
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func invalidateCustomGeometrySourceTile(forSourceId sourceId: String, tileId: CanonicalTileID) throwsParameters
sourceIdStyle source identifier
tileIdIdentifier of the tile
-
Invalidate region for provided custom geometry source.
Throws
An error describing why the operation was unsuccessful.
Declaration
Swift
public func invalidateCustomGeometrySourceRegion(forSourceId sourceId: String, bounds: CoordinateBounds) throwsParameters
sourceIdStyle source identifier
boundsCoordinate bounds.
-
This function creates an expression that will localize the
textFieldproperty of aSymbolLayerDeclaration
Swift
public func localizeLabels(into locale: Locale, forLayerIds layerIds: [String]? = nil) throwsParameters
localeThe
Localeto update the map tolayerIdsAn optional list of ids that need to be localized. If
nilis provided, all layers will be updated
Style Class Reference