MGLShapeCollection
@interface MGLShapeCollection : MGLShape
An MGLShapeCollection
object represents a shape consisting of zero or more
distinct but related shapes that are instances of MGLShape
. The constituent
shapes can be a mixture of different kinds of shapes.
MGLShapeCollection
is most commonly used to add multiple shapes to a single
MGLShapeSource
. Configure the appearance of an MGLShapeSource
’s or
MGLVectorSource
’s shape collection collectively using an
MGLSymbolStyleLayer
object, or use multiple instances of
MGLCircleStyleLayer
, MGLFillStyleLayer
, and MGLLineStyleLayer
to
configure the appearance of each kind of shape inside the collection.
You cannot add an MGLShapeCollection
object directly to a map view as an
annotation. However, you can create individual MGLPointAnnotation
,
MGLPolyline
, and MGLPolygon
objects from the shapes
array and add those
annotation objects to the map view using the -[MGLMapView addAnnotations:]
method.
To represent a collection of point, polyline, or polygon shapes, it may be more
convenient to use an MGLPointCollection
, MGLMultiPolyline
, or
MGLMultiPolygon
object, respectively.
A shape collection is known as a GeometryCollection geometry in GeoJSON.
-
Creates and returns a shape collection consisting of the given shapes.
Declaration
Objective-C
+ (nonnull instancetype)shapeCollectionWithShapes: (nonnull NSArray<MGLShape *> *)shapes;
Swift
convenience init(shapes: [MGLShape])
Parameters
shapes
The array of shapes defining the shape collection. The data in this array is copied to the new object.
Return Value
A new shape collection object.