MGLSource is an abstract base class for map content sources. A map content
source supplies content to be shown on the map. A source is added to an
MGLStyle object along with an MGLForegroundStyleLayer object. The
foreground style layer defines the appearance of any content supplied by the
source.

Declaration

MGLTileSource is a map content source that supplies map tiles to be shown on
the map. The location of and metadata about the tiles are defined either by an
option dictionary or by an external file that conforms to the
TileJSON specification.
A tile source is added to an MGLStyle object along with one or more
MGLRasterStyleLayer or MGLVectorStyleLayer objects. Use a style layer to
control the appearance of content supplied by the tile source.

Declaration

MGLShapeSource is a map content source that supplies vector shapes to be
shown on the map. The shapes may be instances of MGLShape or MGLFeature,
or they may be defined by local or external
GeoJSON code. A shape source is added to an
MGLStyle object along with an MGLVectorStyleLayer object. The vector style
layer defines the appearance of any content supplied by the shape source.

Each
geojson
source defined by the style JSON file is represented at runtime by an
MGLShapeSource object that you can use to refine the map’s content and
initialize new style layers. You can also add and remove sources dynamically
using methods such as -[MGLStyle addSource:] and
-[MGLStyle sourceWithIdentifier:].

Any vector style layer initialized with a shape source should have a nil
value in its sourceLayerIdentifier property.

Declaration

MGLRasterSource is a map content source that supplies raster image tiles to
be shown on the map. The location of and metadata about the tiles are defined
either by an option dictionary or by an external file that conforms to the
TileJSON specification.
A raster source is added to an MGLStyle object along with one or more
MGLRasterStyleLayer objects. Use a raster style layer to control the
appearance of content supplied by the raster source.

Declaration

MGLVectorSource is a map content source that supplies tiled vector data in
Mapbox Vector Tile format to
be shown on the map. The location of and metadata about the tiles are defined
either by an option dictionary or by an external file that conforms to the
TileJSON specification.
A vector source is added to an MGLStyle object along with one or more
MGLVectorStyleLayer objects. A vector style layer defines the appearance of
any content supplied by the vector source.

Within each vector tile, each geometric coordinate must lie between
−1 × extent and
(extent × 2) − 1, inclusive. Any vector style
layer initialized with a vector source must have a non-nil value in its
sourceLayerIdentifier property.