[ios, macos] Eliminated MGLAbstractShapeSource
MGLComputedShapeSource is now a direct subclass of MGLSource and sibling of MGLShapeSource.
This commit is contained in:
committed by
Minh Nguyễn
parent
a877b6dbe8
commit
9faed7293b
@@ -386,7 +386,6 @@ pre code {
|
||||
.nav-group-task[data-name="MGLStyleFunction"],
|
||||
.nav-group-task[data-name="MGLStyleLayer"],
|
||||
.nav-group-task[data-name="MGLTileSource"],
|
||||
.nav-group-task[data-name="MGLAbstractShapeSource"],
|
||||
.nav-group-task[data-name="MGLVectorStyleLayer"] {
|
||||
.nav-group-task-link::after {
|
||||
@extend %nav-group-task-gloss;
|
||||
|
||||
@@ -1,124 +0,0 @@
|
||||
#import "MGLSource.h"
|
||||
|
||||
/**
|
||||
Options for `MGLShapeSource` objects.
|
||||
*/
|
||||
typedef NSString *MGLShapeSourceOption NS_STRING_ENUM;
|
||||
|
||||
/**
|
||||
An `NSNumber` object containing a Boolean enabling or disabling clustering.
|
||||
If the `shape` property contains point shapes, setting this option to
|
||||
`YES` clusters the points by radius into groups. The default value is `NO`.
|
||||
|
||||
This attribute corresponds to the
|
||||
<a href="https://www.mapbox.com/mapbox-gl-style-spec/#sources-geojson-cluster"><code>cluster</code></a>
|
||||
source property in the Mapbox Style Specification.
|
||||
|
||||
This option only affects point features within a shape source.
|
||||
*/
|
||||
extern MGL_EXPORT const MGLShapeSourceOption MGLShapeSourceOptionClustered;
|
||||
|
||||
/**
|
||||
An `NSNumber` object containing an integer; specifies the radius of each
|
||||
cluster if clustering is enabled. A value of 512 produces a radius equal to
|
||||
the width of a tile. The default value is 50.
|
||||
*/
|
||||
extern MGL_EXPORT const MGLShapeSourceOption MGLShapeSourceOptionClusterRadius;
|
||||
|
||||
/**
|
||||
An `NSNumber` object containing an integer; specifies the maximum zoom level at
|
||||
which to cluster points if clustering is enabled. Defaults to one zoom level
|
||||
less than the value of `MGLShapeSourceOptionMaximumZoomLevel` so that, at the
|
||||
maximum zoom level, the shapes are not clustered.
|
||||
|
||||
This attribute corresponds to the
|
||||
<a href="https://www.mapbox.com/mapbox-gl-style-spec/#sources-geojson-clusterMaxZoom"><code>clusterMaxZoom</code></a>
|
||||
source property in the Mapbox Style Specification.
|
||||
*/
|
||||
extern MGL_EXPORT const MGLShapeSourceOption MGLShapeSourceOptionMaximumZoomLevelForClustering;
|
||||
|
||||
/**
|
||||
An `NSNumber` object containing an integer; specifies the minimum zoom level at
|
||||
which to create vector tiles. The default value is 0.
|
||||
|
||||
This attribute corresponds to the
|
||||
<a href="https://www.mapbox.com/mapbox-gl-style-spec/#sources-geojson-minzoom"><code>minzoom</code></a>
|
||||
source property in the Mapbox Style Specification.
|
||||
*/
|
||||
extern MGL_EXPORT const MGLShapeSourceOption MGLShapeSourceOptionMinimumZoomLevel;
|
||||
|
||||
/**
|
||||
An `NSNumber` object containing an integer; specifies the maximum zoom level at
|
||||
which to create vector tiles. A greater value produces greater detail at high
|
||||
zoom levels. The default value is 18.
|
||||
|
||||
This attribute corresponds to the
|
||||
<a href="https://www.mapbox.com/mapbox-gl-style-spec/#sources-geojson-maxzoom"><code>maxzoom</code></a>
|
||||
source property in the Mapbox Style Specification.
|
||||
*/
|
||||
extern MGL_EXPORT const MGLShapeSourceOption MGLShapeSourceOptionMaximumZoomLevel;
|
||||
|
||||
/**
|
||||
An `NSNumber` object containing an integer; specifies the size of the tile
|
||||
buffer on each side. A value of 0 produces no buffer. A value of 512 produces a
|
||||
buffer as wide as the tile itself. Larger values produce fewer rendering
|
||||
artifacts near tile edges and slower performance. The default value is 128.
|
||||
|
||||
This attribute corresponds to the
|
||||
<a href="https://www.mapbox.com/mapbox-gl-style-spec/#sources-geojson-buffer"><code>buffer</code></a>
|
||||
source property in the Mapbox Style Specification.
|
||||
*/
|
||||
extern MGL_EXPORT const MGLShapeSourceOption MGLShapeSourceOptionBuffer;
|
||||
|
||||
/**
|
||||
An `NSNumber` object containing a double; specifies the Douglas-Peucker
|
||||
simplification tolerance. A greater value produces simpler geometries and
|
||||
improves performance. The default value is 0.375.
|
||||
|
||||
This attribute corresponds to the
|
||||
<a href="https://www.mapbox.com/mapbox-gl-style-spec/#sources-geojson-tolerance"><code>tolerance</code></a>
|
||||
source property in the Mapbox Style Specification.
|
||||
*/
|
||||
extern MGL_EXPORT const MGLShapeSourceOption MGLShapeSourceOptionSimplificationTolerance;
|
||||
|
||||
/**
|
||||
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;
|
||||
|
||||
/**
|
||||
`MGLAbstractShapeSource` is an abstract base class for map content sources that
|
||||
supply vector shapes to be shown on the map. A shape source is added to an
|
||||
`MGLStyle` object along with an `MGLVectorStyleLayer` object. The vector style
|
||||
layer defines the appearance of any content supplied by the shape source.
|
||||
|
||||
|
||||
Do not create instances of this class directly, and do not create your own
|
||||
subclasses of this class. Instead, create instances of `MGLShapeSource` or
|
||||
`MGLComputedShapeSource`.
|
||||
*/
|
||||
MGL_EXPORT
|
||||
@interface MGLAbstractShapeSource : MGLSource
|
||||
|
||||
|
||||
@end
|
||||
@@ -1,136 +0,0 @@
|
||||
#import "MGLAbstractShapeSource.h"
|
||||
#import "MGLAbstractShapeSource_Private.h"
|
||||
|
||||
const MGLShapeSourceOption MGLShapeSourceOptionBuffer = @"MGLShapeSourceOptionBuffer";
|
||||
const MGLShapeSourceOption MGLShapeSourceOptionClusterRadius = @"MGLShapeSourceOptionClusterRadius";
|
||||
const MGLShapeSourceOption MGLShapeSourceOptionClustered = @"MGLShapeSourceOptionClustered";
|
||||
const MGLShapeSourceOption MGLShapeSourceOptionMaximumZoomLevel = @"MGLShapeSourceOptionMaximumZoomLevel";
|
||||
const MGLShapeSourceOption MGLShapeSourceOptionMaximumZoomLevelForClustering = @"MGLShapeSourceOptionMaximumZoomLevelForClustering";
|
||||
const MGLShapeSourceOption MGLShapeSourceOptionMinimumZoomLevel = @"MGLShapeSourceOptionMinimumZoomLevel";
|
||||
const MGLShapeSourceOption MGLShapeSourceOptionSimplificationTolerance = @"MGLShapeSourceOptionSimplificationTolerance";
|
||||
const MGLShapeSourceOption MGLShapeSourceOptionWrapsCoordinates = @"MGLShapeSourceOptionWrapsCoordinates";
|
||||
const MGLShapeSourceOption MGLShapeSourceOptionClipsCoordinates = @"MGLShapeSourceOptionClipsCoordinates";
|
||||
|
||||
@interface MGLAbstractShapeSource ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation MGLAbstractShapeSource
|
||||
|
||||
@end
|
||||
|
||||
mbgl::style::GeoJSONOptions MGLGeoJSONOptionsFromDictionary(NS_DICTIONARY_OF(MGLShapeSourceOption, id) *options) {
|
||||
auto geoJSONOptions = mbgl::style::GeoJSONOptions();
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionMinimumZoomLevel]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionMaximumZoomLevel must be an NSNumber."];
|
||||
}
|
||||
geoJSONOptions.minzoom = value.integerValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionMaximumZoomLevel]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionMaximumZoomLevel must be an NSNumber."];
|
||||
}
|
||||
geoJSONOptions.maxzoom = value.integerValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionBuffer]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionBuffer must be an NSNumber."];
|
||||
}
|
||||
geoJSONOptions.buffer = value.integerValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionSimplificationTolerance]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionSimplificationTolerance must be an NSNumber."];
|
||||
}
|
||||
geoJSONOptions.tolerance = value.doubleValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionClusterRadius]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionClusterRadius must be an NSNumber."];
|
||||
}
|
||||
geoJSONOptions.clusterRadius = value.integerValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionMaximumZoomLevelForClustering]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionMaximumZoomLevelForClustering must be an NSNumber."];
|
||||
}
|
||||
geoJSONOptions.clusterMaxZoom = value.integerValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionClustered]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionClustered must be an NSNumber."];
|
||||
}
|
||||
geoJSONOptions.cluster = value.boolValue;
|
||||
}
|
||||
|
||||
return geoJSONOptions;
|
||||
}
|
||||
|
||||
mbgl::style::CustomGeometrySource::Options MBGLCustomGeometrySourceOptionsFromDictionary(NS_DICTIONARY_OF(MGLShapeSourceOption, id) *options) {
|
||||
mbgl::style::CustomGeometrySource::Options sourceOptions;
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionMinimumZoomLevel]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionMaximumZoomLevelForClustering must be an NSNumber."];
|
||||
}
|
||||
sourceOptions.zoomRange.min = value.integerValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionMaximumZoomLevel]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionMaximumZoomLevel must be an NSNumber."];
|
||||
}
|
||||
sourceOptions.zoomRange.max = value.integerValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionBuffer]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionBuffer must be an NSNumber."];
|
||||
}
|
||||
sourceOptions.tileOptions.buffer = value.integerValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionSimplificationTolerance]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionSimplificationTolerance must be an NSNumber."];
|
||||
}
|
||||
sourceOptions.tileOptions.tolerance = value.doubleValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionWrapsCoordinates]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionWrapsCoordinates must be an NSNumber."];
|
||||
}
|
||||
sourceOptions.tileOptions.wrap = value.boolValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionClipsCoordinates]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionClipsCoordinates must be an NSNumber."];
|
||||
}
|
||||
sourceOptions.tileOptions.clip = value.boolValue;
|
||||
}
|
||||
|
||||
return sourceOptions;
|
||||
}
|
||||
@@ -1,14 +1,37 @@
|
||||
#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
|
||||
@@ -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.
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
#import "MGLComputedShapeSource.h"
|
||||
#import "MGLComputedShapeSource_Private.h"
|
||||
|
||||
#import "MGLMapView_Private.h"
|
||||
#import "MGLSource_Private.h"
|
||||
#import "MGLShape_Private.h"
|
||||
#import "MGLAbstractShapeSource_Private.h"
|
||||
#import "MGLGeometry_Private.h"
|
||||
|
||||
#include <mbgl/map/map.hpp>
|
||||
@@ -11,6 +10,63 @@
|
||||
#include <mbgl/tile/tile_id.hpp>
|
||||
#include <mbgl/util/geojson.hpp>
|
||||
|
||||
const MGLShapeSourceOption MGLShapeSourceOptionWrapsCoordinates = @"MGLShapeSourceOptionWrapsCoordinates";
|
||||
const MGLShapeSourceOption MGLShapeSourceOptionClipsCoordinates = @"MGLShapeSourceOptionClipsCoordinates";
|
||||
|
||||
mbgl::style::CustomGeometrySource::Options MBGLCustomGeometrySourceOptionsFromDictionary(NS_DICTIONARY_OF(MGLShapeSourceOption, id) *options) {
|
||||
mbgl::style::CustomGeometrySource::Options sourceOptions;
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionMinimumZoomLevel]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionMaximumZoomLevelForClustering must be an NSNumber."];
|
||||
}
|
||||
sourceOptions.zoomRange.min = value.integerValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionMaximumZoomLevel]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionMaximumZoomLevel must be an NSNumber."];
|
||||
}
|
||||
sourceOptions.zoomRange.max = value.integerValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionBuffer]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionBuffer must be an NSNumber."];
|
||||
}
|
||||
sourceOptions.tileOptions.buffer = value.integerValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionSimplificationTolerance]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionSimplificationTolerance must be an NSNumber."];
|
||||
}
|
||||
sourceOptions.tileOptions.tolerance = value.doubleValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionWrapsCoordinates]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionWrapsCoordinates must be an NSNumber."];
|
||||
}
|
||||
sourceOptions.tileOptions.wrap = value.boolValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionClipsCoordinates]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionClipsCoordinates must be an NSNumber."];
|
||||
}
|
||||
sourceOptions.tileOptions.clip = value.boolValue;
|
||||
}
|
||||
|
||||
return sourceOptions;
|
||||
}
|
||||
|
||||
@interface MGLComputedShapeSource () {
|
||||
std::unique_ptr<mbgl::style::CustomGeometrySource> _pendingSource;
|
||||
}
|
||||
|
||||
@@ -1,22 +1,12 @@
|
||||
#import "MGLAbstractShapeSource.h"
|
||||
|
||||
#import "MGLFoundation.h"
|
||||
#import "MGLTypes.h"
|
||||
#import "MGLShape.h"
|
||||
#import "MGLComputedShapeSource.h"
|
||||
|
||||
#include <mbgl/style/sources/geojson_source.hpp>
|
||||
#include <mbgl/style/sources/custom_geometry_source.hpp>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface MGLAbstractShapeSource (Private)
|
||||
|
||||
MGL_EXPORT
|
||||
|
||||
mbgl::style::GeoJSONOptions MGLGeoJSONOptionsFromDictionary(NS_DICTIONARY_OF(MGLShapeSourceOption, id) *options);
|
||||
|
||||
MGL_EXPORT
|
||||
mbgl::style::CustomGeometrySource::Options MBGLCustomGeometrySourceOptionsFromDictionary(NS_DICTIONARY_OF(MGLShapeSourceOption, id) *options);
|
||||
|
||||
@end
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -1,12 +1,92 @@
|
||||
#import "MGLAbstractShapeSource.h"
|
||||
|
||||
#import "MGLFoundation.h"
|
||||
#import "MGLTypes.h"
|
||||
#import "MGLShape.h"
|
||||
#import "MGLSource.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@protocol MGLFeature;
|
||||
@class MGLShape;
|
||||
|
||||
/**
|
||||
Options for `MGLShapeSource` objects.
|
||||
*/
|
||||
typedef NSString *MGLShapeSourceOption NS_STRING_ENUM;
|
||||
|
||||
/**
|
||||
An `NSNumber` object containing a Boolean enabling or disabling clustering.
|
||||
If the `shape` property contains point shapes, setting this option to
|
||||
`YES` clusters the points by radius into groups. The default value is `NO`.
|
||||
|
||||
This attribute corresponds to the
|
||||
<a href="https://www.mapbox.com/mapbox-gl-style-spec/#sources-geojson-cluster"><code>cluster</code></a>
|
||||
source property in the Mapbox Style Specification.
|
||||
|
||||
This option only affects point features within a shape source.
|
||||
*/
|
||||
extern MGL_EXPORT const MGLShapeSourceOption MGLShapeSourceOptionClustered;
|
||||
|
||||
/**
|
||||
An `NSNumber` object containing an integer; specifies the radius of each
|
||||
cluster if clustering is enabled. A value of 512 produces a radius equal to
|
||||
the width of a tile. The default value is 50.
|
||||
*/
|
||||
extern MGL_EXPORT const MGLShapeSourceOption MGLShapeSourceOptionClusterRadius;
|
||||
|
||||
/**
|
||||
An `NSNumber` object containing an integer; specifies the maximum zoom level at
|
||||
which to cluster points if clustering is enabled. Defaults to one zoom level
|
||||
less than the value of `MGLShapeSourceOptionMaximumZoomLevel` so that, at the
|
||||
maximum zoom level, the shapes are not clustered.
|
||||
|
||||
This attribute corresponds to the
|
||||
<a href="https://www.mapbox.com/mapbox-gl-style-spec/#sources-geojson-clusterMaxZoom"><code>clusterMaxZoom</code></a>
|
||||
source property in the Mapbox Style Specification.
|
||||
*/
|
||||
extern MGL_EXPORT const MGLShapeSourceOption MGLShapeSourceOptionMaximumZoomLevelForClustering;
|
||||
|
||||
/**
|
||||
An `NSNumber` object containing an integer; specifies the minimum zoom level at
|
||||
which to create vector tiles. The default value is 0.
|
||||
|
||||
This attribute corresponds to the
|
||||
<a href="https://www.mapbox.com/mapbox-gl-style-spec/#sources-geojson-minzoom"><code>minzoom</code></a>
|
||||
source property in the Mapbox Style Specification.
|
||||
*/
|
||||
extern MGL_EXPORT const MGLShapeSourceOption MGLShapeSourceOptionMinimumZoomLevel;
|
||||
|
||||
/**
|
||||
An `NSNumber` object containing an integer; specifies the maximum zoom level at
|
||||
which to create vector tiles. A greater value produces greater detail at high
|
||||
zoom levels. The default value is 18.
|
||||
|
||||
This attribute corresponds to the
|
||||
<a href="https://www.mapbox.com/mapbox-gl-style-spec/#sources-geojson-maxzoom"><code>maxzoom</code></a>
|
||||
source property in the Mapbox Style Specification.
|
||||
*/
|
||||
extern MGL_EXPORT const MGLShapeSourceOption MGLShapeSourceOptionMaximumZoomLevel;
|
||||
|
||||
/**
|
||||
An `NSNumber` object containing an integer; specifies the size of the tile
|
||||
buffer on each side. A value of 0 produces no buffer. A value of 512 produces a
|
||||
buffer as wide as the tile itself. Larger values produce fewer rendering
|
||||
artifacts near tile edges and slower performance. The default value is 128.
|
||||
|
||||
This attribute corresponds to the
|
||||
<a href="https://www.mapbox.com/mapbox-gl-style-spec/#sources-geojson-buffer"><code>buffer</code></a>
|
||||
source property in the Mapbox Style Specification.
|
||||
*/
|
||||
extern MGL_EXPORT const MGLShapeSourceOption MGLShapeSourceOptionBuffer;
|
||||
|
||||
/**
|
||||
An `NSNumber` object containing a double; specifies the Douglas-Peucker
|
||||
simplification tolerance. A greater value produces simpler geometries and
|
||||
improves performance. The default value is 0.375.
|
||||
|
||||
This attribute corresponds to the
|
||||
<a href="https://www.mapbox.com/mapbox-gl-style-spec/#sources-geojson-tolerance"><code>tolerance</code></a>
|
||||
source property in the Mapbox Style Specification.
|
||||
*/
|
||||
extern MGL_EXPORT const MGLShapeSourceOption MGLShapeSourceOptionSimplificationTolerance;
|
||||
|
||||
/**
|
||||
`MGLShapeSource` is a map content source that supplies vector shapes to be
|
||||
@@ -16,6 +96,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
`MGLStyle` object along with an `MGLVectorStyleLayer` object. The vector style
|
||||
layer defines the appearance of any content supplied by the shape source. You
|
||||
can update a shape source by setting its `shape` or `URL` property.
|
||||
|
||||
`MGLShapeSource` is optimized for data sets that change dynamically and fit
|
||||
completely in memory. For large data sets that do not fit completely in memory,
|
||||
use the `MGLComputedShapeSource` or `MGLVectorTileSource` class.
|
||||
|
||||
Each
|
||||
<a href="https://www.mapbox.com/mapbox-gl-style-spec/#sources-geojson"><code>geojson</code></a>
|
||||
@@ -41,7 +125,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
```
|
||||
*/
|
||||
MGL_EXPORT
|
||||
@interface MGLShapeSource : MGLAbstractShapeSource
|
||||
@interface MGLShapeSource : MGLSource
|
||||
|
||||
#pragma mark Initializing a Source
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#import "MGLShapeSource_Private.h"
|
||||
#import "MGLAbstractShapeSource_Private.h"
|
||||
|
||||
#import "MGLStyle_Private.h"
|
||||
#import "MGLMapView_Private.h"
|
||||
@@ -14,7 +13,75 @@
|
||||
#include <mbgl/style/sources/geojson_source.hpp>
|
||||
#include <mbgl/renderer/renderer.hpp>
|
||||
|
||||
const MGLShapeSourceOption MGLShapeSourceOptionBuffer = @"MGLShapeSourceOptionBuffer";
|
||||
const MGLShapeSourceOption MGLShapeSourceOptionClusterRadius = @"MGLShapeSourceOptionClusterRadius";
|
||||
const MGLShapeSourceOption MGLShapeSourceOptionClustered = @"MGLShapeSourceOptionClustered";
|
||||
const MGLShapeSourceOption MGLShapeSourceOptionMaximumZoomLevel = @"MGLShapeSourceOptionMaximumZoomLevel";
|
||||
const MGLShapeSourceOption MGLShapeSourceOptionMaximumZoomLevelForClustering = @"MGLShapeSourceOptionMaximumZoomLevelForClustering";
|
||||
const MGLShapeSourceOption MGLShapeSourceOptionMinimumZoomLevel = @"MGLShapeSourceOptionMinimumZoomLevel";
|
||||
const MGLShapeSourceOption MGLShapeSourceOptionSimplificationTolerance = @"MGLShapeSourceOptionSimplificationTolerance";
|
||||
|
||||
mbgl::style::GeoJSONOptions MGLGeoJSONOptionsFromDictionary(NS_DICTIONARY_OF(MGLShapeSourceOption, id) *options) {
|
||||
auto geoJSONOptions = mbgl::style::GeoJSONOptions();
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionMinimumZoomLevel]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionMaximumZoomLevel must be an NSNumber."];
|
||||
}
|
||||
geoJSONOptions.minzoom = value.integerValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionMaximumZoomLevel]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionMaximumZoomLevel must be an NSNumber."];
|
||||
}
|
||||
geoJSONOptions.maxzoom = value.integerValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionBuffer]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionBuffer must be an NSNumber."];
|
||||
}
|
||||
geoJSONOptions.buffer = value.integerValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionSimplificationTolerance]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionSimplificationTolerance must be an NSNumber."];
|
||||
}
|
||||
geoJSONOptions.tolerance = value.doubleValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionClusterRadius]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionClusterRadius must be an NSNumber."];
|
||||
}
|
||||
geoJSONOptions.clusterRadius = value.integerValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionMaximumZoomLevelForClustering]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionMaximumZoomLevelForClustering must be an NSNumber."];
|
||||
}
|
||||
geoJSONOptions.clusterMaxZoom = value.integerValue;
|
||||
}
|
||||
|
||||
if (NSNumber *value = options[MGLShapeSourceOptionClustered]) {
|
||||
if (![value isKindOfClass:[NSNumber class]]) {
|
||||
[NSException raise:NSInvalidArgumentException
|
||||
format:@"MGLShapeSourceOptionClustered must be an NSNumber."];
|
||||
}
|
||||
geoJSONOptions.cluster = value.boolValue;
|
||||
}
|
||||
|
||||
return geoJSONOptions;
|
||||
}
|
||||
|
||||
@interface MGLShapeSource ()
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace mbgl {
|
||||
}
|
||||
}
|
||||
|
||||
@interface MGLShapeSource (Private)
|
||||
@end
|
||||
MGL_EXPORT
|
||||
mbgl::style::GeoJSONOptions MGLGeoJSONOptionsFromDictionary(NS_DICTIONARY_OF(MGLShapeSourceOption, id) *options);
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
@@ -16,10 +16,11 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
add and remove sources dynamically using methods such as
|
||||
`-[MGLStyle addSource:]` and `-[MGLStyle sourceWithIdentifier:]`.
|
||||
|
||||
Create instances of `MGLShapeSource`, `MGLImageSource` and the concrete
|
||||
subclasses of `MGLTileSource` (`MGLVectorTileSource` and `MGLRasterTileSource`)
|
||||
in order to use `MGLSource`'s properties and methods. Do not create instances
|
||||
of `MGLSource` directly, and do not create your own subclasses of this class.
|
||||
Create instances of `MGLShapeSource`, `MGLComputedShapeSource`,
|
||||
`MGLImageSource`, and the concrete subclasses of `MGLTileSource`
|
||||
(`MGLVectorTileSource` and `MGLRasterTileSource`) in order to use `MGLSource`’s
|
||||
properties and methods. Do not create instances of `MGLSource` directly, and do
|
||||
not create your own subclasses of this class.
|
||||
*/
|
||||
MGL_EXPORT
|
||||
@interface MGLSource : NSObject
|
||||
|
||||
@@ -14,6 +14,13 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
A vector tile source is added to an `MGLStyle` object along with one or more
|
||||
`MGLVectorStyleLayer` objects. A vector style layer defines the appearance of
|
||||
any content supplied by the vector tile source.
|
||||
|
||||
`MGLVectorTileSource` is optimized for data sets that are too large to fit
|
||||
completely in memory, such as vector tile sets or data sets managed in
|
||||
<a href="https://www.mapbox.com/studio/">Mapbox Studio</a>. For
|
||||
<a href="http://geojson.org/">GeoJSON</a> data, use the `MGLShapeSource`
|
||||
class. For tiled data that changes dynamically, the `MGLComputedShapeSource`
|
||||
class may be a suitable alternative.
|
||||
|
||||
Each
|
||||
<a href="https://www.mapbox.com/mapbox-gl-style-spec/#sources-vector"><code>vector</code></a>
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
#import <Mapbox/Mapbox.h>
|
||||
#import "MGLFeature_Private.h"
|
||||
#import "MGLAbstractShapeSource_Private.h"
|
||||
#import "MGLShapeSource_Private.h"
|
||||
#import "MGLSource_Private.h"
|
||||
|
||||
|
||||
@@ -15,11 +15,8 @@
|
||||
0778DD431F67556700A73B34 /* MGLComputedShapeSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 0778DD401F67555F00A73B34 /* MGLComputedShapeSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
0778DD441F67556C00A73B34 /* MGLComputedShapeSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0778DD411F67555F00A73B34 /* MGLComputedShapeSource.mm */; };
|
||||
07D8C6FB1F67560100381808 /* MGLComputedShapeSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0778DD411F67555F00A73B34 /* MGLComputedShapeSource.mm */; };
|
||||
07D8C6FC1F67560400381808 /* MGLAbstractShapeSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 07D947501F67487E00E37934 /* MGLAbstractShapeSource.mm */; };
|
||||
07D8C6FF1F67562C00381808 /* MGLComputedShapeSourceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 07D8C6FD1F67562800381808 /* MGLComputedShapeSourceTests.m */; };
|
||||
07D947521F67488800E37934 /* MGLAbstractShapeSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D9474F1F67487E00E37934 /* MGLAbstractShapeSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
07D947531F67488E00E37934 /* MGLAbstractShapeSource_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D9474E1F67487E00E37934 /* MGLAbstractShapeSource_Private.h */; };
|
||||
07D947541F67489200E37934 /* MGLAbstractShapeSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 07D947501F67487E00E37934 /* MGLAbstractShapeSource.mm */; };
|
||||
07D947531F67488E00E37934 /* MGLComputedShapeSource_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D9474E1F67487E00E37934 /* MGLComputedShapeSource_Private.h */; };
|
||||
16376B0A1FFD9DAF0000563E /* MBGLIntegrationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 16376B091FFD9DAF0000563E /* MBGLIntegrationTests.m */; };
|
||||
16376B331FFDB4B40000563E /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 16376B321FFDB4B40000563E /* AppDelegate.m */; };
|
||||
16376B3B1FFDB4B40000563E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 16376B3A1FFDB4B40000563E /* Assets.xcassets */; };
|
||||
@@ -329,7 +326,7 @@
|
||||
96E516E12000551100A02306 /* MGLMultiPoint_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848041CBAFA6200AB86E3 /* MGLMultiPoint_Private.h */; };
|
||||
96E516E22000551900A02306 /* MGLPointCollection_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 4049C2AB1DB6E05500B3F799 /* MGLPointCollection_Private.h */; };
|
||||
96E516E32000552A00A02306 /* MGLAccountManager_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847FF1CBAFA6200AB86E3 /* MGLAccountManager_Private.h */; };
|
||||
96E516E42000560B00A02306 /* MGLAbstractShapeSource_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D9474E1F67487E00E37934 /* MGLAbstractShapeSource_Private.h */; };
|
||||
96E516E42000560B00A02306 /* MGLComputedShapeSource_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D9474E1F67487E00E37934 /* MGLComputedShapeSource_Private.h */; };
|
||||
96E516E52000560B00A02306 /* MGLOfflinePack_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848061CBAFA6200AB86E3 /* MGLOfflinePack_Private.h */; };
|
||||
96E516E62000560B00A02306 /* MGLOfflineRegion_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848081CBAFA6200AB86E3 /* MGLOfflineRegion_Private.h */; };
|
||||
96E516E72000560B00A02306 /* MGLOfflineStorage_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848091CBAFA6200AB86E3 /* MGLOfflineStorage_Private.h */; };
|
||||
@@ -339,7 +336,6 @@
|
||||
96E516EB2000560B00A02306 /* MGLUserLocation_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA88484B1CBAFB9800AB86E3 /* MGLUserLocation_Private.h */; };
|
||||
96E516EC2000560B00A02306 /* MGLUserLocationAnnotationView_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 359F57451D2FDBD5005217F1 /* MGLUserLocationAnnotationView_Private.h */; };
|
||||
96E516ED200058A200A02306 /* MGLComputedShapeSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 0778DD401F67555F00A73B34 /* MGLComputedShapeSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
96E516EE2000590900A02306 /* MGLAbstractShapeSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D9474F1F67487E00E37934 /* MGLAbstractShapeSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
96E516EF2000594F00A02306 /* NSArray+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 400532FF1DB0862B0069F638 /* NSArray+MGLAdditions.h */; };
|
||||
96E516F02000595800A02306 /* NSBundle+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848121CBAFA6200AB86E3 /* NSBundle+MGLAdditions.h */; };
|
||||
96E516F12000596800A02306 /* NSString+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848171CBAFA6200AB86E3 /* NSString+MGLAdditions.h */; };
|
||||
@@ -729,9 +725,7 @@
|
||||
0778DD401F67555F00A73B34 /* MGLComputedShapeSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLComputedShapeSource.h; sourceTree = "<group>"; };
|
||||
0778DD411F67555F00A73B34 /* MGLComputedShapeSource.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLComputedShapeSource.mm; sourceTree = "<group>"; };
|
||||
07D8C6FD1F67562800381808 /* MGLComputedShapeSourceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLComputedShapeSourceTests.m; path = ../../darwin/test/MGLComputedShapeSourceTests.m; sourceTree = "<group>"; };
|
||||
07D9474E1F67487E00E37934 /* MGLAbstractShapeSource_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLAbstractShapeSource_Private.h; sourceTree = "<group>"; };
|
||||
07D9474F1F67487E00E37934 /* MGLAbstractShapeSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLAbstractShapeSource.h; sourceTree = "<group>"; };
|
||||
07D947501F67487E00E37934 /* MGLAbstractShapeSource.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLAbstractShapeSource.mm; sourceTree = "<group>"; };
|
||||
07D9474E1F67487E00E37934 /* MGLComputedShapeSource_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLComputedShapeSource_Private.h; sourceTree = "<group>"; };
|
||||
16376B071FFD9DAF0000563E /* integration.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = integration.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
16376B091FFD9DAF0000563E /* MBGLIntegrationTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MBGLIntegrationTests.m; sourceTree = "<group>"; };
|
||||
16376B0B1FFD9DAF0000563E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
@@ -1352,10 +1346,8 @@
|
||||
35136D491D4277EA00C20EFD /* Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
07D9474F1F67487E00E37934 /* MGLAbstractShapeSource.h */,
|
||||
07D9474E1F67487E00E37934 /* MGLAbstractShapeSource_Private.h */,
|
||||
07D947501F67487E00E37934 /* MGLAbstractShapeSource.mm */,
|
||||
0778DD401F67555F00A73B34 /* MGLComputedShapeSource.h */,
|
||||
07D9474E1F67487E00E37934 /* MGLComputedShapeSource_Private.h */,
|
||||
0778DD411F67555F00A73B34 /* MGLComputedShapeSource.mm */,
|
||||
071BBAFC1EE75CD4001FB02A /* MGLImageSource.h */,
|
||||
071BBAFD1EE75CD4001FB02A /* MGLImageSource.mm */,
|
||||
@@ -2168,7 +2160,7 @@
|
||||
DA88482C1CBAFA6200AB86E3 /* NSBundle+MGLAdditions.h in Headers */,
|
||||
357FE2DD1E02D2B20068B753 /* NSCoder+MGLAdditions.h in Headers */,
|
||||
35D13AB71D3D15E300AFB4E0 /* MGLStyleLayer.h in Headers */,
|
||||
07D947531F67488E00E37934 /* MGLAbstractShapeSource_Private.h in Headers */,
|
||||
07D947531F67488E00E37934 /* MGLComputedShapeSource_Private.h in Headers */,
|
||||
9654C1261FFC1AB900DB6A19 /* MGLPolyline_Private.h in Headers */,
|
||||
40F887701D7A1E58008ECB67 /* MGLShapeSource_Private.h in Headers */,
|
||||
350098DC1D484E60004B2AF0 /* NSValue+MGLStyleAttributeAdditions.h in Headers */,
|
||||
@@ -2185,7 +2177,6 @@
|
||||
DA88485A1CBAFB9800AB86E3 /* MGLUserLocation_Private.h in Headers */,
|
||||
966FCF531F3C322400F2B6DE /* MGLUserLocationHeadingArrowLayer.h in Headers */,
|
||||
DA27C24F1CBB4C11000B0ECD /* MGLAccountManager_Private.h in Headers */,
|
||||
07D947521F67488800E37934 /* MGLAbstractShapeSource.h in Headers */,
|
||||
DA8847FC1CBAFA5100AB86E3 /* MGLStyle.h in Headers */,
|
||||
DD9BE4F71EB263C50079A3AF /* UIViewController+MGLAdditions.h in Headers */,
|
||||
DAF0D8131DFE0EC500B28378 /* MGLVectorTileSource_Private.h in Headers */,
|
||||
@@ -2330,7 +2321,7 @@
|
||||
DAAF722E1DA903C700312FA4 /* MGLStyleValue_Private.h in Headers */,
|
||||
DABFB8661CBE99E500D62B32 /* MGLPointAnnotation.h in Headers */,
|
||||
96E5170220005A6600A02306 /* FABAttributes.h in Headers */,
|
||||
96E516E42000560B00A02306 /* MGLAbstractShapeSource_Private.h in Headers */,
|
||||
96E516E42000560B00A02306 /* MGLComputedShapeSource_Private.h in Headers */,
|
||||
96E516E92000560B00A02306 /* MGLAnnotationImage_Private.h in Headers */,
|
||||
96E516E52000560B00A02306 /* MGLOfflinePack_Private.h in Headers */,
|
||||
DD9BE4F91EB263D20079A3AF /* UIViewController+MGLAdditions.h in Headers */,
|
||||
@@ -2356,7 +2347,6 @@
|
||||
3510FFFA1D6DCC4700F413B2 /* NSCompoundPredicate+MGLAdditions.h in Headers */,
|
||||
DA72620C1DEEE3480043BB89 /* MGLOpenGLStyleLayer.h in Headers */,
|
||||
35CE61831D4165D9004F2359 /* UIColor+MGLAdditions.h in Headers */,
|
||||
96E516EE2000590900A02306 /* MGLAbstractShapeSource.h in Headers */,
|
||||
96E516F32000597100A02306 /* NSDictionary+MGLAdditions.h in Headers */,
|
||||
96E516F02000595800A02306 /* NSBundle+MGLAdditions.h in Headers */,
|
||||
96E516F920005A3500A02306 /* MGLFaux3DUserLocationAnnotationView.h in Headers */,
|
||||
@@ -2953,7 +2943,6 @@
|
||||
DA88482B1CBAFA6200AB86E3 /* MGLTypes.m in Sources */,
|
||||
FA68F14D1E9D656600F9F6C2 /* MGLFillExtrusionStyleLayer.mm in Sources */,
|
||||
404C26E41D89B877000AA13D /* MGLTileSource.mm in Sources */,
|
||||
07D947541F67489200E37934 /* MGLAbstractShapeSource.mm in Sources */,
|
||||
355AE0011E9281DA00F3939D /* MGLScaleBar.mm in Sources */,
|
||||
40834C451FE05F7500C1BD0D /* TSKBackgroundReporter.m in Sources */,
|
||||
DA88481D1CBAFA6200AB86E3 /* MGLMapCamera.mm in Sources */,
|
||||
@@ -3099,7 +3088,6 @@
|
||||
DAA4E42A1CBB730400178DFB /* NSProcessInfo+MGLAdditions.m in Sources */,
|
||||
DAA4E4211CBB730400178DFB /* MGLOfflineStorage.mm in Sources */,
|
||||
4049C2A01DB6CD6C00B3F799 /* MGLPointCollection.mm in Sources */,
|
||||
07D8C6FC1F67560400381808 /* MGLAbstractShapeSource.mm in Sources */,
|
||||
35136D401D42273000C20EFD /* MGLLineStyleLayer.mm in Sources */,
|
||||
DA704CC51F65A475004B3F28 /* MGLMapAccessibilityElement.mm in Sources */,
|
||||
40834C4F1FE05F7600C1BD0D /* ssl_pin_verifier.m in Sources */,
|
||||
|
||||
@@ -77,7 +77,6 @@ custom_categories:
|
||||
- name: Style Content
|
||||
children:
|
||||
- MGLSource
|
||||
- MGLAbstractShapeSource
|
||||
- MGLShapeSource
|
||||
- MGLComputedShapeSource
|
||||
- MGLTileSource
|
||||
|
||||
@@ -53,7 +53,6 @@ FOUNDATION_EXPORT MGL_EXPORT const unsigned char MapboxVersionString[];
|
||||
#import "MGLTileSource.h"
|
||||
#import "MGLVectorTileSource.h"
|
||||
#import "MGLShapeSource.h"
|
||||
#import "MGLAbstractShapeSource.h"
|
||||
#import "MGLComputedShapeSource.h"
|
||||
#import "MGLRasterTileSource.h"
|
||||
#import "MGLRasterDEMSource.h"
|
||||
|
||||
@@ -63,7 +63,6 @@ custom_categories:
|
||||
- name: Content Sources
|
||||
children:
|
||||
- MGLSource
|
||||
- MGLAbstractShapeSource
|
||||
- MGLShapeSource
|
||||
- MGLComputedShapeSource
|
||||
- MGLTileSource
|
||||
|
||||
@@ -11,9 +11,7 @@
|
||||
07A019EF1ED665CD00ACD43E /* MGLImageSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 07A019EC1ED662D800ACD43E /* MGLImageSource.mm */; };
|
||||
07A240941F675674002C8210 /* MGLComputedShapeSourceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 07A240921F67566F002C8210 /* MGLComputedShapeSourceTests.m */; };
|
||||
07BA4CAC1EE21887004528F5 /* MGLImageSourceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 07BA4CAB1EE21887004528F5 /* MGLImageSourceTests.m */; };
|
||||
07D9474B1F6743F000E37934 /* MGLAbstractShapeSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 07D947491F6741F500E37934 /* MGLAbstractShapeSource.mm */; };
|
||||
07D9474C1F67441500E37934 /* MGLAbstractShapeSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D947481F6741F500E37934 /* MGLAbstractShapeSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
07D9474D1F67441B00E37934 /* MGLAbstractShapeSource_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D947471F6741F500E37934 /* MGLAbstractShapeSource_Private.h */; };
|
||||
07D9474D1F67441B00E37934 /* MGLComputedShapeSource_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D947471F6741F500E37934 /* MGLComputedShapeSource_Private.h */; };
|
||||
07F8E2F71F674C8800F794BB /* MGLComputedShapeSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 07F8E2F41F674C8000F794BB /* MGLComputedShapeSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
07F8E2F81F674C9000F794BB /* MGLComputedShapeSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 07F8E2F51F674C8000F794BB /* MGLComputedShapeSource.mm */; };
|
||||
170A82BF201BDD1B00943087 /* MGLHeatmapStyleLayerTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 170A82BE201BDD1B00943087 /* MGLHeatmapStyleLayerTests.mm */; };
|
||||
@@ -298,9 +296,7 @@
|
||||
07A019EC1ED662D800ACD43E /* MGLImageSource.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLImageSource.mm; sourceTree = "<group>"; };
|
||||
07A240921F67566F002C8210 /* MGLComputedShapeSourceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGLComputedShapeSourceTests.m; sourceTree = "<group>"; };
|
||||
07BA4CAB1EE21887004528F5 /* MGLImageSourceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGLImageSourceTests.m; sourceTree = "<group>"; };
|
||||
07D947471F6741F500E37934 /* MGLAbstractShapeSource_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLAbstractShapeSource_Private.h; sourceTree = "<group>"; };
|
||||
07D947481F6741F500E37934 /* MGLAbstractShapeSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLAbstractShapeSource.h; sourceTree = "<group>"; };
|
||||
07D947491F6741F500E37934 /* MGLAbstractShapeSource.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLAbstractShapeSource.mm; sourceTree = "<group>"; };
|
||||
07D947471F6741F500E37934 /* MGLComputedShapeSource_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLComputedShapeSource_Private.h; sourceTree = "<group>"; };
|
||||
07F8E2F41F674C8000F794BB /* MGLComputedShapeSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLComputedShapeSource.h; sourceTree = "<group>"; };
|
||||
07F8E2F51F674C8000F794BB /* MGLComputedShapeSource.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLComputedShapeSource.mm; sourceTree = "<group>"; };
|
||||
170A82BE201BDD1B00943087 /* MGLHeatmapStyleLayerTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLHeatmapStyleLayerTests.mm; sourceTree = "<group>"; };
|
||||
@@ -719,10 +715,8 @@
|
||||
3527427E1D4C242B00A1ECE6 /* Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
07D947481F6741F500E37934 /* MGLAbstractShapeSource.h */,
|
||||
07D947471F6741F500E37934 /* MGLAbstractShapeSource_Private.h */,
|
||||
07D947491F6741F500E37934 /* MGLAbstractShapeSource.mm */,
|
||||
07F8E2F41F674C8000F794BB /* MGLComputedShapeSource.h */,
|
||||
07D947471F6741F500E37934 /* MGLComputedShapeSource_Private.h */,
|
||||
07F8E2F51F674C8000F794BB /* MGLComputedShapeSource.mm */,
|
||||
352742831D4C244700A1ECE6 /* MGLRasterTileSource.h */,
|
||||
DA7DC9821DED647F0027472F /* MGLRasterTileSource_Private.h */,
|
||||
@@ -1222,7 +1216,7 @@
|
||||
DAE6C3841CC31E2A00DB3429 /* MGLAccountManager_Private.h in Headers */,
|
||||
DACA8622201920BE00E9693A /* MGLRasterDEMSource.h in Headers */,
|
||||
DAE6C3691CC31E0400DB3429 /* MGLTypes.h in Headers */,
|
||||
07D9474D1F67441B00E37934 /* MGLAbstractShapeSource_Private.h in Headers */,
|
||||
07D9474D1F67441B00E37934 /* MGLComputedShapeSource_Private.h in Headers */,
|
||||
DAE6C3991CC31E2A00DB3429 /* NSException+MGLAdditions.h in Headers */,
|
||||
DA8F25871D51C9E10010E6B5 /* MGLBackgroundStyleLayer.h in Headers */,
|
||||
4049C2A51DB6CE7F00B3F799 /* MGLPointCollection.h in Headers */,
|
||||
@@ -1238,7 +1232,6 @@
|
||||
35602BFA1D3EA99F0050646F /* MGLFillStyleLayer.h in Headers */,
|
||||
DA35A2A41CC9EB1A00E826B2 /* MGLCoordinateFormatter.h in Headers */,
|
||||
35C5D8491D6DD66D00E95907 /* NSCompoundPredicate+MGLAdditions.h in Headers */,
|
||||
07D9474C1F67441500E37934 /* MGLAbstractShapeSource.h in Headers */,
|
||||
DD0902B31DB1AC6400C5BDCE /* MGLNetworkConfiguration.h in Headers */,
|
||||
DAE6C3621CC31E0400DB3429 /* MGLOverlay.h in Headers */,
|
||||
DAE6C3651CC31E0400DB3429 /* MGLPolyline.h in Headers */,
|
||||
@@ -1522,7 +1515,6 @@
|
||||
558DE7A71E56161C00C7916D /* MGLFoundation.mm in Sources */,
|
||||
DAE6C39D1CC31E2A00DB3429 /* NSString+MGLAdditions.m in Sources */,
|
||||
3598195A1E02F611008FC139 /* NSCoder+MGLAdditions.mm in Sources */,
|
||||
07D9474B1F6743F000E37934 /* MGLAbstractShapeSource.mm in Sources */,
|
||||
DAE6C3941CC31E2A00DB3429 /* MGLStyle.mm in Sources */,
|
||||
DAE6C3871CC31E2A00DB3429 /* MGLGeometry.mm in Sources */,
|
||||
894623A0200E748000DA8EF2 /* MGLHeatmapStyleLayer.mm in Sources */,
|
||||
|
||||
@@ -51,7 +51,6 @@ FOUNDATION_EXPORT MGL_EXPORT const unsigned char MapboxVersionString[];
|
||||
#import "MGLTileSource.h"
|
||||
#import "MGLVectorTileSource.h"
|
||||
#import "MGLShapeSource.h"
|
||||
#import "MGLAbstractShapeSource.h"
|
||||
#import "MGLComputedShapeSource.h"
|
||||
#import "MGLRasterTileSource.h"
|
||||
#import "MGLRasterDEMSource.h"
|
||||
|
||||
Reference in New Issue
Block a user