DingiPointCollection
@interface DingiPointCollection : DingiShape <DingiOverlay>
An DingiPointCollection
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 DingiShapeSource
object. Configure the appearance of an DingiShapeSource
’s or
DingiVectorTileSource
’s point collections collectively using an
DingiCircleStyleLayer
or DingiSymbolStyleLayer
object. To access a point
collection’s attributes, use an DingiPointCollectionFeature
object.
You cannot add an DingiPointCollection
object directly to a map view as an
annotation. However, you can create individual DingiPointAnnotation
objects
from the coordinates
array and add those annotation objects to the map view
using the -[DingiMapView addAnnotations:]
method.
A point collection is known as a
MultiPoint
geometry in GeoJSON. Do not confuse DingiPointCollection
with DingiMultiPoint
,
the abstract superclass of DingiPolyline
and DingiPolygon
.
-
Creates and returns a
DingiPointCollection
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.