iOS SDK
Tutorials
API Reference
- MGLTileCoordinateSystem
- MGLComputedShapeSource
- MGLSphericalPosition
- MGLUserLocationAnnotationViewStyle
- MGLDistanceFormatter
- MGLStyleLayer
- MGLMapDebugMaskOptions
- MGLSymbolZOrder
- MGLShape
- MGLLineTranslationAnchor
- MGLMultiPoint
- MGLOfflinePack
- Style Primitives
- MGLMultiPolyline
- MGLTextAnchor
- Primitive Shapes
- MGLIconTranslationAnchor
- NSValue(MGLFillStyleLayerAdditions)
- MGLAnnotation
- NSExpression(MGLAdditions)
- MGLTextJustification
- MGLUserLocationAnnotationView
- MGLMultiPolygon
- MGLCircleStyleLayer
- MGLCoordinateSpan
- MGLNetworkConfiguration
- MGLTextWritingMode
- Other Enumerations
- MGLUserLocation
- MGLCalloutView
- MGLAttributedExpression
- MGLImageSource
- MGLOfflinePackProgress
- MGLIconAnchor
- MGLFillStyleLayer
- MGLFillTranslationAnchor
- Appendices
- MGLOfflinePackProgress
- MGLComputedShapeSourceDataSource
- NSValue(MGLLineStyleLayerAdditions)
- MGLStylable
- MGLRasterResamplingMode
- Geometry
- MGLPolygon
- Location Updates
- MGLClockDirectionFormatter
- NSValue(MGLFillExtrusionStyleLayerAdditions)
- MGLCoordinateSpan
- MGLCluster
- MGLErrorCode
- MGLAccountManager
- MGLForegroundStyleLayer
- MGLRasterTileSource
- MGLTextPitchAlignment
- MGLResourceKind
- MGLMapSnapshotterDelegate
- MGLAnnotationImage
- MGLHillshadeStyleLayer
- MGLOrnamentPosition
- MGLAnnotationViewDragState
- MGLDEMEncoding
- MGLSource
- MGLIconPitchAlignment
- MGLCalloutViewDelegate
- MGLVectorStyleLayer
- MGLRasterStyleLayer
- MGLLoggingConfiguration
- MGLLightAnchor
- Other Categories
- MGLTransition
- MGLLocationManager
- MGLLoggingLevel
- MGLTextTranslationAnchor
- MGLCompassButton
- MGLShapeSource
- NSValue(MGLRasterStyleLayerAdditions)
- MGLAnnotationVerticalAlignment
- MGLPolyline
- Maps
- MGLMapCamera
- MGLOfflineStorage
- Other Type Definitions
- MGLSphericalPosition
- MGLShapeCollection
- NSValue(MGLAdditions)
- Style Content
- MGLSymbolPlacement
- MGLTransition
- Other Classes
- MGLPointCollection
- MGLMapViewDelegate
- Style Layers
- MGLMapSnapshotOverlay
- MGLCoordinateQuad
- MGLTextTransform
- MGLOverlay
- MGLUserTrackingMode
- MGLTileSource
- MGLHillshadeIlluminationAnchor
- MGLTextRotationAlignment
- NSValue(MGLHillshadeStyleLayerAdditions)
- MGLOfflinePackState
- Formatters
- MGLLocationManagerDelegate
- MGLAttributionInfoStyle
- MGLBackgroundStyleLayer
- Styling the Map
- MGLCoordinateBounds
- MGLFillExtrusionTranslationAnchor
- Offline Maps
- MGLCoordinateFormatter
- MGLOrnamentVisibility
- MGLStyle
- MGLFeature
- MGLOfflineRegion
- MGLMapView
- MGLShapeOfflineRegion
- Other Structures
- MGLCirclePitchAlignment
- NSValue(MGLCircleStyleLayerAdditions)
- MGLMapSnapshot
- MGLFillExtrusionStyleLayer
- MGLCoordinateQuad
- MGLMapSnapshotOptions
- Other Protocols
- MGLLineCap
- MGLSymbolStyleLayer
- Other Functions
- MGLCircleTranslationAnchor
- MGLLineJoin
- MGLAnnotationView
- MGLCircleScaleAlignment
- MGLPointAnnotation
- MGLMapSnapshotter
- MGLLineStyleLayer
- MGLAttributionInfo
- MGLCompassDirectionFormatter
- MGLCoordinateBounds
- MGLTilePyramidOfflineRegion
- MGLIconRotationAlignment
- MGLIconTextFit
- Other Constants
- NSValue(MGLSymbolStyleLayerAdditions)
- Annotations
- MGLLight
- MGLHeatmapStyleLayer
- MGLOfflineStorageDelegate
- MGLVectorTileSource
- User Interaction
On This Page
Other Protocols
The following protocols are available globally.
MGLCluster
A protocol that feature subclasses (i.e. those already conforming to the MGLFeature
protocol) conform to if they represent clusters.
Currently the only class that conforms to MGLCluster
is MGLPointFeatureCluster
(a subclass of MGLPointFeature
).
To check if a feature is a cluster, check conformity to MGLCluster
, for example:
let shape = try! MGLShape(data: clusterShapeData, encoding: String.Encoding.utf8.rawValue)
guard let pointFeature = shape as? MGLPointFeature else {
throw ExampleError.unexpectedFeatureType
}
// Check for cluster conformance
guard let cluster = pointFeature as? MGLCluster else {
throw ExampleError.featureIsNotACluster
}
// Currently the only supported class that conforms to `MGLCluster` is
// `MGLPointFeatureCluster`
guard cluster is MGLPointFeatureCluster else {
throw ExampleError.unexpectedFeatureType
}
Declaration
Objective-C
@protocol MGLCluster <MGLFeature>
Swift
protocol MGLCluster
MGLComputedShapeSourceDataSource
Data source for MGLComputedShapeSource
. This protocol defines two optional methods for fetching data, one based on tile coordinates, and one based on a bounding box. Classes that implement this protocol must implement one, and only one of the methods. Methods on this protocol will not be called on main thread, they will be called on the caller’s requestQueue
.
Declaration
Objective-C
@protocol MGLComputedShapeSourceDataSource <NSObject>
Swift
protocol MGLComputedShapeSourceDataSource : NSObjectProtocol
MGLMapSnapshotterDelegate
Optional methods about significant events when creating a snapshot using an MGLMapSnapshotter
object.
Declaration
Objective-C
@protocol MGLMapSnapshotterDelegate <NSObject>
Swift
protocol MGLMapSnapshotterDelegate : NSObjectProtocol
MGLOfflineStorageDelegate
The MGLOfflineStorageDelegate
protocol defines methods that a delegate of an MGLOfflineStorage
object can optionally implement to transform various types of URLs before downloading them via the internet.
Declaration
Objective-C
@protocol MGLOfflineStorageDelegate <NSObject>
Swift
protocol MGLOfflineStorageDelegate : NSObjectProtocol
MGLStylable
An object whose contents are represented by an MGLStyle
object that you configure.
Declaration
Objective-C
@protocol MGLStylable <NSObject>
Swift
protocol MGLStylable : NSObjectProtocol