summaryrefslogtreecommitdiff
path: root/platform/darwin/src/MGLPolygon.h
diff options
context:
space:
mode:
Diffstat (limited to 'platform/darwin/src/MGLPolygon.h')
-rw-r--r--platform/darwin/src/MGLPolygon.h129
1 files changed, 0 insertions, 129 deletions
diff --git a/platform/darwin/src/MGLPolygon.h b/platform/darwin/src/MGLPolygon.h
deleted file mode 100644
index 900e43334e..0000000000
--- a/platform/darwin/src/MGLPolygon.h
+++ /dev/null
@@ -1,129 +0,0 @@
-#import <Foundation/Foundation.h>
-#import <CoreLocation/CoreLocation.h>
-
-#import "MGLFoundation.h"
-#import "MGLMultiPoint.h"
-#import "MGLOverlay.h"
-
-#import "MGLTypes.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- An `MGLPolygon` object represents a closed shape consisting of four or more
- vertices, specified as `CLLocationCoordinate2D` instances, and the edges that
- connect them. For example, you could use a polygon shape to represent a
- building, a lake, or an area you want to highlight.
-
- You can add polygon shapes to the map by adding them to an `MGLShapeSource`
- object. Configure the appearance of an `MGLShapeSource`’s or
- `MGLVectorTileSource`’s polygons collectively using an `MGLFillStyleLayer` or
- `MGLSymbolStyleLayer` object. To access a polygon’s attributes, use an
- `MGLPolygonFeature` object.
-
- Alternatively, you can add a polygon overlay directly to a map view using the
- `-[MGLMapView addAnnotation:]` or `-[MGLMapView addOverlay:]` method. Configure
- a polygon overlay’s appearance using
- `-[MGLMapViewDelegate mapView:strokeColorForShapeAnnotation:]` and
- `-[MGLMapViewDelegate mapView:fillColorForPolygonAnnotation:]`.
-
- The vertices are automatically connected in the order in which you provide
- them. You should close the polygon by specifying the same
- `CLLocationCoordinate2D` as the first and last vertices; otherwise, the
- polygon’s fill may not cover the area you expect it to. To avoid filling the
- space within the shape, give the polygon a transparent fill or use an
- `MGLPolyline` object.
-
- A polygon may have one or more interior polygons, or holes, that you specify as
- `MGLPolygon` objects with the `+polygonWithCoordinates:count:interiorPolygons:`
- method. For example, if a polygon represents a lake, it could exclude an island
- within the lake using an interior polygon. Interior polygons may not themselves
- have interior polygons. To represent a shape that includes a polygon within a
- hole or, more generally, to group multiple polygons together in one shape, use
- an `MGLMultiPolygon` or `MGLShapeCollection` object.
-
- To make the polygon straddle the antimeridian, specify some longitudes less
- than −180 degrees or greater than 180 degrees.
-
- #### Related examples
- See the <a href="https://docs.mapbox.com/ios/maps/examples/polygon/">
- Add a polygon annotation</a> example to learn how to initialize an
- `MGLPolygon` object from an array of coordinates.
- */
-MGL_EXPORT
-@interface MGLPolygon : MGLMultiPoint <MGLOverlay>
-
-/**
- The array of polygons nested inside the receiver.
-
- The area occupied by any interior polygons is excluded from the overall shape.
- Interior polygons should not overlap. An interior polygon should not have
- interior polygons of its own.
-
- If there are no interior polygons, the value of this property is `nil`.
- */
-@property (nonatomic, nullable, readonly) NSArray<MGLPolygon *> *interiorPolygons;
-
-/**
- Creates and returns an `MGLPolygon` object from the specified set of
- coordinates.
-
- @param coords The array of coordinates defining the shape. The data in this
- array is copied to the new object.
- @param count The number of items in the `coords` array.
- @return A new polygon object.
- */
-+ (instancetype)polygonWithCoordinates:(const CLLocationCoordinate2D *)coords count:(NSUInteger)count;
-
-/**
- Creates and returns an `MGLPolygon` object from the specified set of
- coordinates and interior polygons.
-
- @param coords The array of coordinates defining the shape. The data in this
- array is copied to the new object.
- @param count The number of items in the `coords` array.
- @param interiorPolygons An array of `MGLPolygon` objects that define regions
- excluded from the overall shape. If this array is `nil` or empty, the shape
- is considered to have no interior polygons.
- @return A new polygon object.
- */
-+ (instancetype)polygonWithCoordinates:(const CLLocationCoordinate2D *)coords count:(NSUInteger)count interiorPolygons:(nullable NSArray<MGLPolygon *> *)interiorPolygons;
-
-@end
-
-/**
- An `MGLMultiPolygon` object represents a shape consisting of one or more
- polygons that do not overlap. For example, you could use a multipolygon shape
- to represent the body of land that consists of an island surrounded by an
- atoll: the inner island would be one `MGLPolygon` object, while the surrounding
- atoll would be another. You could also use a multipolygon shape to represent a
- group of disconnected but related buildings.
-
- You can add multipolygon shapes to the map by adding them to an
- `MGLShapeSource` object. Configure the appearance of an `MGLShapeSource`’s or
- `MGLVectorTileSource`’s multipolygons collectively using an `MGLFillStyleLayer`
- or `MGLSymbolStyleLayer` object.
-
- You cannot add an `MGLMultiPolygon` object directly to a map view using
- `-[MGLMapView addAnnotation:]` or `-[MGLMapView addOverlay:]`. However, you can
- add the `polygons` array’s items as overlays individually.
- */
-MGL_EXPORT
-@interface MGLMultiPolygon : MGLShape <MGLOverlay>
-
-/**
- An array of polygons forming the multipolygon.
- */
-@property (nonatomic, copy, readonly) NSArray<MGLPolygon *> *polygons;
-
-/**
- Creates and returns a multipolygon object consisting of the given polygons.
-
- @param polygons The array of polygons defining the shape.
- @return A new multipolygon object.
- */
-+ (instancetype)multiPolygonWithPolygons:(NSArray<MGLPolygon *> *)polygons;
-
-@end
-
-NS_ASSUME_NONNULL_END