Other Constants
The following constants are available globally.
-
The font name string array expression used to format the text.
Declaration
Objective-C
extern const MGLAttributedExpressionKey _Nonnull MGLFontNamesAttribute
Swift
static let fontNamesAttribute: MGLAttributedExpressionKey
-
The font scale number expression relative to
MGLSymbolStyleLayer.textFontSize
used to format the text.Declaration
Objective-C
extern const MGLAttributedExpressionKey _Nonnull MGLFontScaleAttribute
Swift
static let fontScaleAttribute: MGLAttributedExpressionKey
-
The font color expression used to format the text.
Declaration
Objective-C
extern const MGLAttributedExpressionKey _Nonnull MGLFontColorAttribute
Swift
static let fontColorAttribute: MGLAttributedExpressionKey
-
An
NSUInteger
constant used to indicate an invalid cluster identifier. This indicates a missing cluster feature.Declaration
Objective-C
extern const NSUInteger MGLClusterIdentifierInvalid
Swift
let MGLClusterIdentifierInvalid: UInt
-
An
NSNumber
object containing a Boolean value; specifies whether the shape of anMGLComputedShapeSource
should be wrapped to accomodate coordinates with longitudes beyond −180 and 180. The default value isNO
.Setting this option to
YES
affects rendering performance.This option is used with the
MGLComputedShapeSource
class; it is ignored when creating anMGLShapeSource
object.Declaration
Objective-C
extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionWrapsCoordinates
Swift
static let wrapsCoordinates: MGLShapeSourceOption
-
An
NSNumber
object containing a Boolean value; specifies whether the shape of anMGLComputedShapeSource
should be clipped at the edge of each tile. The default value isNO
.Setting this option to
YES
affects rendering performance. Use this option to clipMGLPolyline
s andMGLPolygon
s at tile boundaries without artifacts.This option is used with the
MGLComputedShapeSource
class; it is ignored when creating anMGLShapeSource
object.Declaration
Objective-C
extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClipsCoordinates
Swift
static let clipsCoordinates: MGLShapeSourceOption
-
Posted by the shared
MGLOfflineStorage
object when anMGLOfflinePack
object’s progress changes. The progress may change due to a resource being downloaded or because the pack discovers during the download that more resources are required for offline viewing. This notification is posted whenever any field in theprogress
property changes.The
object
is theMGLOfflinePack
object whose progress changed. TheuserInfo
dictionary contains the pack’s current state in theMGLOfflinePackUserInfoKeyState
key and details about the pack’s current progress in theMGLOfflinePackUserInfoKeyProgress
key. You may also consult theMGLOfflinePack.state
andMGLOfflinePack.progress
properties, which provide the same values.If you only need to observe changes in a particular pack’s progress, you can alternatively observe KVO change notifications to the pack’s
progress
key path.Related examples
See the Download an offline map example to learn how to calculate the progress of an offline download.
Declaration
Objective-C
extern const NSNotificationName _Nonnull MGLOfflinePackProgressChangedNotification
Swift
static let MGLOfflinePackProgressChanged: NSNotification.Name
-
Posted by the shared
MGLOfflineStorage
object whenever anMGLOfflinePack
object encounters an error while downloading. The error may be recoverable and may not warrant the user’s attention. For example, the pack’s implementation may attempt to re-request failed resources based on an exponential backoff strategy or upon the restoration of network access.The
object
is theMGLOfflinePack
object that encountered the error. TheuserInfo
dictionary contains the error object in theMGLOfflinePackUserInfoKeyError
key.Declaration
Objective-C
extern const NSNotificationName _Nonnull MGLOfflinePackErrorNotification
Swift
static let MGLOfflinePackError: NSNotification.Name
-
Posted by the shared
MGLOfflineStorage
object when the maximum number of Mapbox-hosted tiles has been downloaded and stored on the current device.The
object
is theMGLOfflinePack
object that reached the tile limit in the course of downloading. TheuserInfo
dictionary contains the tile limit in theMGLOfflinePackUserInfoKeyMaximumCount
key.Once this limit is reached, no instance of
MGLOfflinePack
can download additional tiles from Mapbox APIs until already downloaded tiles are removed by calling the-[MGLOfflineStorage removePack:withCompletionHandler:]
method.Declaration
Objective-C
extern const NSNotificationName _Nonnull MGLOfflinePackMaximumMapboxTilesReachedNotification
Swift
static let MGLOfflinePackMaximumMapboxTilesReached: NSNotification.Name
-
The key for an
NSNumber
object that indicates an offline pack’s current state. This key is used in theuserInfo
dictionary of anMGLOfflinePackProgressChangedNotification
notification. Call-integerValue
on the object to receive theMGLOfflinePackState
-typed state.Declaration
Objective-C
extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyState
Swift
static let state: MGLOfflinePackUserInfoKey
-
The key for an
NSValue
object that indicates an offline pack’s current progress. This key is used in theuserInfo
dictionary of anMGLOfflinePackProgressChangedNotification
notification. Call-MGLOfflinePackProgressValue
on the object to receive theMGLOfflinePackProgress
-typed progress.Declaration
Objective-C
extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyProgress
Swift
static let progress: MGLOfflinePackUserInfoKey
-
The key for an
NSError
object that is encountered in the course of downloading an offline pack. This key is used in theuserInfo
dictionary of anMGLOfflinePackErrorNotification
notification. The error’s domain isMGLErrorDomain
. SeeMGLErrorCode
for possible error codes.Declaration
Objective-C
extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyError
Swift
static let error: MGLOfflinePackUserInfoKey
-
The key for an
NSNumber
object that indicates the maximum number of Mapbox-hosted tiles that may be downloaded and stored on the current device. This key is used in theuserInfo
dictionary of anMGLOfflinePackMaximumMapboxTilesReachedNotification
notification. Call-unsignedLongLongValue
on the object to receive theuint64_t
-typed tile limit.Declaration
Objective-C
extern const MGLOfflinePackUserInfoKey _Nonnull MGLOfflinePackUserInfoKeyMaximumCount
Swift
static let maximumCount: MGLOfflinePackUserInfoKey
-
An
NSNumber
object containing an unsigned integer that specifies the encoding formula for raster-dem tilesets. The integer corresponds to one of the constants described inMGLDEMEncoding
.The default value for this option is
MGLDEMEncodingMapbox
.This option cannot be represented in a TileJSON or style JSON file. It is used with the
MGLRasterDEMSource
class and is ignored when creating anMGLRasterTileSource
orMGLVectorTileSource
object.Declaration
Objective-C
extern const MGLTileSourceOption MGLTileSourceOptionDEMEncoding
Swift
static let demEncoding: MGLTileSourceOption
-
An
NSNumber
object containing a floating-point number that specifies the width and height (measured in points) at which the map displays each raster image tile when the map’s zoom level is an integer. The raster tile source scales its images up or down when the map’s zoom level falls between two integers.The default value for this option is 512. Version 4 of the Mapbox Raster Tiles API requires a value of 256, as do many third-party tile servers, so consult your provider’s documentation for the correct value.
This option is only applicable to
MGLRasterTileSource
objects; it is ignored when initializingMGLVectorTileSource
objects.Declaration
Objective-C
extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileSize
Swift
static let tileSize: MGLTileSourceOption
-
An
NSNumber
object containing a Boolean enabling or disabling clustering. If theshape
property contains point shapes, setting this option toYES
clusters the points by radius into groups. The default value isNO
.This option corresponds to the
cluster
source property in the Mapbox Style Specification.This option only affects point features within an
MGLShapeSource
object; it is ignored when creating anMGLComputedShapeSource
object.Related examples
See the Cluster point data and Use images to cluster point data examples to learn how to cluster point data with this
MGLShapeSourceOption
.Declaration
Objective-C
extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClustered
Swift
static let clustered: MGLShapeSourceOption
-
An
NSNumber
object containing an integer; specifies the radius of each cluster if clustering is enabled. A value of 512 produces a radius equal to the width of a tile. The default value is 50.This option only affects point features within an
MGLShapeSource
object; it is ignored when creating anMGLComputedShapeSource
object.Declaration
Objective-C
extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterRadius
Swift
static let clusterRadius: MGLShapeSourceOption
-
An
NSDictionary
object where the key is anNSString
. The dictionary key will be the feature attribute key. The resulting attribute value is aggregated from the clustered points. The dictionary value is anNSArray
consisting of twoNSExpression
objects.The first object determines how the attribute values are accumulated from the cluster points. It is an
NSExpression
with an expression function that accepts two or more arguments, such assum
ormax
. The arguments should befeatureAccumulated
and the previously defined feature attribute key. The resulting value is assigned to the specified attribute key.The second
NSExpression
in the array determines which attribute values are accessed from individual features within a cluster.let firstExpression = NSExpression(format: "sum:({$featureAccumulated, sumValue})") let secondExpression = NSExpression(forKeyPath: "magnitude") let clusterPropertiesDictionary = ["sumValue" : [firstExpression, secondExpression]] let options : [MGLShapeSourceOption : Any] = [.clustered : true, .clusterProperties: clusterPropertiesDictionary]
This option corresponds to the
clusterProperties
source property in the Mapbox Style Specification.This option only affects point features within an
MGLShapeSource
object; it is ignored when creating anMGLComputedShapeSource
object.Declaration
Objective-C
extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionClusterProperties
Swift
static let clusterProperties: MGLShapeSourceOption
-
An
NSNumber
object containing an integer; specifies the maximum zoom level at which to cluster points if clustering is enabled. Defaults to one zoom level less than the value ofMGLShapeSourceOptionMaximumZoomLevel
so that, at the maximum zoom level, the shapes are not clustered.This option corresponds to the
clusterMaxZoom
source property in the Mapbox Style Specification.This option only affects point features within an
MGLShapeSource
object; it is ignored when creating anMGLComputedShapeSource
object.Declaration
Objective-C
extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevelForClustering
Swift
static let maximumZoomLevelForClustering: MGLShapeSourceOption
-
An
NSNumber
object containing an integer; specifies the minimum zoom level at which to create vector tiles. The default value is 0.This option corresponds to the
minzoom
source property in the Mapbox Style Specification.Declaration
Objective-C
extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMinimumZoomLevel
Swift
static let minimumZoomLevel: MGLShapeSourceOption
-
An
NSNumber
object containing an integer; specifies the maximum zoom level at which to create vector tiles. A greater value produces greater detail at high zoom levels. The default value is 18.This option corresponds to the
maxzoom
source property in the Mapbox Style Specification.Declaration
Objective-C
extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionMaximumZoomLevel
Swift
static let maximumZoomLevel: MGLShapeSourceOption
-
An
NSNumber
object containing an integer; specifies the size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance. The default value is 128.This option corresponds to the
buffer
source property in the Mapbox Style Specification.Declaration
Objective-C
extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionBuffer
Swift
static let buffer: MGLShapeSourceOption
-
An
NSNumber
object containing a double; specifies the Douglas-Peucker simplification tolerance. A greater value produces simpler geometries and improves performance. The default value is 0.375.This option corresponds to the
tolerance
source property in the Mapbox Style Specification.Declaration
Objective-C
extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionSimplificationTolerance
Swift
static let simplificationTolerance: MGLShapeSourceOption
-
An
NSNumber
object containing a Boolean enabling or disabling calculating line distance metrics.Set this property to
YES
in order for theMGLLineStyleLayer.lineGradient
property to have its intended effect. The default value isNO
.This option corresponds to the
lineMetrics
source property in the Mapbox Style Specification.Declaration
Objective-C
extern const MGLShapeSourceOption _Nonnull MGLShapeSourceOptionLineDistanceMetrics
Swift
static let lineDistanceMetrics: MGLShapeSourceOption
-
A version number identifying the default version of the Mapbox Streets style obtained through the
MGLStyle.streetsStyleURL
method. This version number may also be passed into the+[MGLStyle streetsStyleURLWithVersion:]
method.The value of this constant generally corresponds to the latest released version as of the date on which this SDK was published. You can use this constant to ascertain the style used by
MGLMapView
andMGLTilePyramidOfflineRegion
when no style URL is specified. Consult the Mapbox Styles API documentation for the most up-to-date style versioning information.Warning
The value of this constant may change in a future release of the SDK. If you use any feature that depends on a specific aspect of a default style — for instance, the minimum zoom level that includes roads — you may use the current value of this constant or the underlying style URL, but do not use the constant itself. Such details may change significantly from version to version.Declaration
Objective-C
static const NSInteger MGLStyleDefaultVersion = 11
Swift
let MGLStyleDefaultVersion: Int
-
An
NSNumber
object containing an unsigned integer that specifies the minimum zoom level at which to display tiles from the source.The value should be between 0 and 22, inclusive, and less than
MGLTileSourceOptionMaximumZoomLevel
, if specified. The default value for this option is 0.This option corresponds to the
minzoom
key in the TileJSON specification.Declaration
Objective-C
extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMinimumZoomLevel
Swift
static let minimumZoomLevel: MGLTileSourceOption
-
An
NSNumber
object containing an unsigned integer that specifies the maximum zoom level at which to display tiles from the source.The value should be between 0 and 22, inclusive, and less than
MGLTileSourceOptionMinimumZoomLevel
, if specified. The default value for this option is 22.This option corresponds to the
maxzoom
key in the TileJSON specification.Declaration
Objective-C
extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionMaximumZoomLevel
Swift
static let maximumZoomLevel: MGLTileSourceOption
-
An
NSValue
object containing anMGLCoordinateBounds
struct that specifies the geographic extent of the source.If this option is specified, the SDK avoids requesting any tile that falls outside of the coordinate bounds. Otherwise, the SDK requests any tile needed to cover the viewport, as it does by default.
This option corresponds to the
bounds
key in the TileJSON specification.Declaration
Objective-C
extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionCoordinateBounds
Swift
static let coordinateBounds: MGLTileSourceOption
-
An HTML string defining the buttons to be displayed in the map view’s attribution view when the source is part of the map view’s style.
By default, no attribution statements are displayed. If the
MGLTileSourceOptionAttributionInfos
option is specified, this option is ignored.This option corresponds to the
attribution
key in the TileJSON specification.Declaration
Objective-C
extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionHTMLString
Swift
static let attributionHTMLString: MGLTileSourceOption
-
An array of
MGLAttributionInfo
objects defining the buttons to be displayed in the map view’s attribution view when the source is part of the map view’s style.By default, no attribution statements are displayed.
Declaration
Objective-C
extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionAttributionInfos
Swift
static let attributionInfos: MGLTileSourceOption
-
An
NSNumber
object containing an unsigned integer that specifies the tile coordinate system for the source’s tile URLs. The integer corresponds to one of the constants described inMGLTileCoordinateSystem
.The default value for this option is
MGLTileCoordinateSystemXYZ
.This option corresponds to the
scheme
key in the TileJSON specification.Declaration
Objective-C
extern const MGLTileSourceOption _Nonnull MGLTileSourceOptionTileCoordinateSystem
Swift
static let tileCoordinateSystem: MGLTileSourceOption
-
Indicates an error occurred in the Mapbox SDK.
Declaration
Objective-C
extern const NSErrorDomain _Nonnull MGLErrorDomain
Swift
let MGLErrorDomain: String
-
An
NSString
identifying thelinear
interpolation type in anNSExpression
.This attribute corresponds to the
linear
value in theinterpolate
expression operator in the Mapbox Style Specification.Declaration
Objective-C
extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeLinear
Swift
static let linear: MGLExpressionInterpolationMode
-
An
NSString
identifying theexpotential
interpolation type in anNSExpression
.This attribute corresponds to the
exponential
value in theinterpolate
expression operator in the Mapbox Style Specification.Declaration
Objective-C
extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeExponential
Swift
static let exponential: MGLExpressionInterpolationMode
-
An
NSString
identifying thecubic-bezier
interpolation type in anNSExpression
.This attribute corresponds to the
cubic-bezier
value in theinterpolate
expression operator in the Mapbox Style Specification.Declaration
Objective-C
extern const MGLExpressionInterpolationMode _Nonnull MGLExpressionInterpolationModeCubicBezier
Swift
static let cubicBezier: MGLExpressionInterpolationMode
-
Project version number for Mapbox.
Declaration
Objective-C
extern double MapboxVersionNumber
Swift
var MapboxVersionNumber: Double
-
Project version string for Mapbox.
Declaration
Objective-C
extern const unsigned char MapboxVersionString[]