MGLMultiPoint
@interface MGLMultiPoint : MGLShape
The MGLMultiPoint
class is used to define shapes composed of multiple points.
This class is also the superclass of MGLPolyline
and MGLPolygon
. The
methods and properties of this class can be used to access information about
the specific points associated with a line or polygon.
-
Creates and returns an
MGLMultiPoint
object from the specified set of coordinates.Declaration
Objective-C
+ (nonnull instancetype)multiPointWithCoordinates: (nonnull CLLocationCoordinate2D *)coords count:(NSUInteger)count;
Swift
class func multiPoint(coordinates coords: UnsafeMutablePointer
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 multipoint object.
-
The array of coordinates associated with the shape.
This C array is a pointer to a structure inside the multipoint object, which may have a lifetime shorter than the multipoint object and will certainly not have a longer lifetime. Therefore, you should copy the C array if it needs to be stored outside of the memory context in which you use this property.
Declaration
Objective-C
@property (readonly, nonatomic) CLLocationCoordinate2D *_Nonnull coordinates;
Swift
var coordinates: UnsafeMutablePointer
-
The number of coordinates associated with the shape. (read-only)
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:(nonnull CLLocationCoordinate2D *)coords range:(NSRange)range;
Swift
func getCoordinates(_ coords: UnsafeMutablePointer
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. -
Updates one or more coordinates for the shape, which will instantaneously cause the shape to be redrawn if it is currently visible on the map.
Declaration
Objective-C
- (void)replaceCoordinatesInRange:(NSRange)range withCoordinates:(nonnull CLLocationCoordinate2D *)coords;
Swift
func replaceCoordinates(in range: NSRange, withCoordinates coords: UnsafeMutablePointer
Parameters
range
The range of points to update. The
location
field indicates the first point you are replacing, with0
being the first point,1
being the second point, and so on. Thelength
field indicates the number of points to update. You can append to an existing array of coordinates by specifying a range with alocation
at the end of the existing array and/or alength
which extends past the end of the existing array. The array incoords
must be equal in number to the length of the range.coords
The array of coordinates defining the shape. The data in this array is copied to the object.