diff options
Diffstat (limited to 'platform/darwin/src/MGLComputedShapeSource.h')
-rw-r--r-- | platform/darwin/src/MGLComputedShapeSource.h | 67 |
1 files changed, 58 insertions, 9 deletions
diff --git a/platform/darwin/src/MGLComputedShapeSource.h b/platform/darwin/src/MGLComputedShapeSource.h index f90f2c94b1..3647819420 100644 --- a/platform/darwin/src/MGLComputedShapeSource.h +++ b/platform/darwin/src/MGLComputedShapeSource.h @@ -1,15 +1,38 @@ -#import "MGLAbstractShapeSource.h" - #import "MGLFoundation.h" #import "MGLGeometry.h" #import "MGLTypes.h" -#import "MGLShape.h" +#import "MGLShapeSource.h" NS_ASSUME_NONNULL_BEGIN @protocol MGLFeature; /** + An `NSNumber` object containing a Boolean value; specifies whether the shape of + an `MGLComputedShapeSource` should be wrapped to accomodate coordinates with + longitudes beyond −180 and 180. The default value is `NO`. + + Setting this option to `YES` affects rendering performance. + + This option is ignored when creating an instance of a class besides + `MGLComputedShapeSource`. + */ +extern MGL_EXPORT const MGLShapeSourceOption MGLShapeSourceOptionWrapsCoordinates; + +/** + An `NSNumber` object containing a Boolean value; specifies whether the shape of + an `MGLComputedShapeSource` should be clipped at the edge of each tile. The + default value is `NO`. + + Setting this option to `YES` affects rendering performance. Use this option to + clip `MGLPolyline`s and `MGLPolygon`s at tile boundaries without artifacts. + + This option is ignored when creating an instance of a class besides + `MGLComputedShapeSource`. + */ +extern MGL_EXPORT const MGLShapeSourceOption MGLShapeSourceOptionClipsCoordinates; + +/** Data source for `MGLComputedShapeSource`. This protocol defines two optional methods for fetching data, one based on tile coordinates, and one based on a bounding box. Classes that implement this protocol must implement one, and only one of the methods. Methods on this protocol will not be @@ -38,21 +61,41 @@ NS_ASSUME_NONNULL_BEGIN @end /** - A source for vector data that is fetched one tile at a time. Useful for sources that are - too large to fit in memory, or are already divided into tiles, but not in Mapbox Vector Tile format. + `MGLComputedShapeSource` is a map content source that supplies vector shapes, + one tile at a time, to be shown on the map on demand. You implement a class + conforming to the `MGLComputedShapeSourceDataSource` protocol that returns + instances of `MGLShape` or `MGLFeature`, then add a computed shape source to an + `MGLStyle` object along with an `MGLVectorStyleLayer` object. The vector style + layer defines the appearance of any content supplied by the computed shape + source. - Supported options are `MGLShapeSourceOptionMinimumZoomLevel`, `MGLShapeSourceOptionMaximumZoomLevel`, - `MGLShapeSourceOptionBuffer`, and `MGLShapeSourceOptionSimplificationTolerance.` This source does - not support clustering. + `MGLComputedShapeSource` is similar to `MGLShapeSource` but is optimized for + data sets that change dynamically but are too large to fit completely in + memory. It is also useful for data that is divided into tiles in a format other + than <a href="https://www.mapbox.com/vector-tiles/">Mapbox Vector Tiles</a>. + For <a href="http://geojson.org/">GeoJSON</a> data, use the `MGLShapeSource` + class. For static tiles or Mapbox Vector Tiles, use the `MGLVectorTileSource` + class. + + You can add and remove sources dynamically using methods such as + `-[MGLStyle addSource:]` and `-[MGLStyle sourceWithIdentifier:]`. This class + cannot be represented in a style JSON file; you must add it ot the style at + runtime. */ MGL_EXPORT -@interface MGLComputedShapeSource : MGLAbstractShapeSource +@interface MGLComputedShapeSource : MGLSource /** Returns a custom shape data source initialized with an identifier, and a dictionary of options for the source according to the <a href="https://www.mapbox.com/mapbox-gl-style-spec/#sources-geojson">style specification</a>. + + This class supports the following options: + `MGLShapeSourceOptionMinimumZoomLevel`, `MGLShapeSourceOptionMaximumZoomLevel`, + `MGLShapeSourceOptionBuffer`, and + `MGLShapeSourceOptionSimplificationTolerance`. Shapes provided by a computed + shape source cannot be clustered. @param identifier A string that uniquely identifies the source. @param options An `NSDictionary` of options for this source. @@ -64,6 +107,12 @@ MGL_EXPORT dictionary of options for the source according to the <a href="https://www.mapbox.com/mapbox-gl-style-spec/#sources-geojson">style specification</a>. + + This class supports the following options: + `MGLShapeSourceOptionMinimumZoomLevel`, `MGLShapeSourceOptionMaximumZoomLevel`, + `MGLShapeSourceOptionBuffer`, and + `MGLShapeSourceOptionSimplificationTolerance`. Shapes provided by a computed + shape source cannot be clustered. @param identifier A string that uniquely identifies the source. @param options An `NSDictionary` of options for this source. |