MGLPointCollection
@interface MGLPointCollection : MGLShape <MGLOverlay>
An MGLPointCollection
object represents a shape consisting of one or more
disconnected vertices, specified as CLLocationCoordinate2D
instances. The
points in the collection may be related but are not connected spatially. For
example, you could use a point collection to represent all the trees in an
orchard.
You can add point collections to the map by adding them to an MGLShapeSource
object. Configure the appearance of an MGLShapeSource
’s or
MGLVectorTileSource
’s point collections collectively using an
MGLCircleStyleLayer
or MGLSymbolStyleLayer
object. To access a point
collection’s attributes, use an MGLPointCollectionFeature
object.
You cannot add an MGLPointCollection
object directly to a map view as an
annotation. However, you can create individual MGLPointAnnotation
objects
from the coordinates
array and add those annotation objects to the map view
using the -[MGLMapView addAnnotations:]
method.
A point collection is known as a
MultiPoint
geometry in GeoJSON. Do not confuse MGLPointCollection
with MGLMultiPoint
,
the abstract superclass of MGLPolyline
and MGLPolygon
.
-
Creates and returns a
MGLPointCollection
object from the specified set of coordinates.Declaration
Objective-C
+ (instancetype)pointCollectionWithCoordinates: (const CLLocationCoordinate2D *)coords count:(NSUInteger)count;
Swift
convenience init!(coordinates coords: UnsafePointer<CLLocationCoordinate2D>!, count: UInt)
Parameters
coords
The array of coordinates defining the shape. The data in this array is copied to the new object.
count
The number of items in the
coords
array.Return Value
A new point collection object.
-
The array of coordinates associated with the shape.
Declaration
Objective-C
@property (readonly, nonatomic) CLLocationCoordinate2D *coordinates;
Swift
var coordinates: UnsafeMutablePointer<CLLocationCoordinate2D>! { get }
-
The number of coordinates associated with the shape.
Declaration
Objective-C
@property (readonly, nonatomic) NSUInteger pointCount;
Swift
var pointCount: UInt { get }
-
Retrieves one or more coordinates associated with the shape.
Declaration
Objective-C
- (void)getCoordinates:(CLLocationCoordinate2D *)coords range:(NSRange)range;
Swift
func getCoordinates(_ coords: UnsafeMutablePointer<CLLocationCoordinate2D>!, range: NSRange)
Parameters
coords
On input, you must provide a C array of structures large enough to hold the desired number of coordinates. On output, this structure contains the requested coordinate data.
range
The range of points you want. The
location
field indicates the first point you are requesting, with0
being the first point,1
being the second point, and so on. Thelength
field indicates the number of points you want. The array incoords
must be large enough to accommodate the number of requested coordinates.