GeoJSONSource
public struct GeoJSONSource : Source
A GeoJSON data source.
See also
Mapbox Style Specification-
Declaration
Swift
public let type: SourceType
-
A URL to a GeoJSON file, or inline GeoJSON.
Declaration
Swift
public var data: GeoJSONSourceData?
-
Maximum zoom level at which to create vector tiles (higher means greater detail at high zoom levels).
Declaration
Swift
public var maxzoom: Double?
-
Contains an attribution to be displayed when the map is shown to a user.
Declaration
Swift
public var attribution: String?
-
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.
Declaration
Swift
public var buffer: Double?
-
Douglas-Peucker simplification tolerance (higher means simpler geometries and faster performance).
Declaration
Swift
public var tolerance: Double?
-
If the data is a collection of point features, setting this to true clusters the points by radius into groups. Cluster groups become new
Point
features in the source with additional properties:cluster
Istrue
if the point is a clustercluster_id
A unqiue id for the cluster to be used in conjunction with the cluster inspection methodspoint_count
Number of original points grouped into this clusterpoint_count_abbreviated
An abbreviated point count
Declaration
Swift
public var cluster: Bool?
-
Radius of each cluster if clustering is enabled. A value of 512 indicates a radius equal to the width of a tile.
Declaration
Swift
public var clusterRadius: Double?
-
Max zoom on which to cluster points if clustering is enabled. Defaults to one zoom less than maxzoom (so that last zoom features are not clustered). Clusters are re-evaluated at integer zoom levels so setting clusterMaxZoom to 14 means the clusters will be displayed until z15.
Declaration
Swift
public var clusterMaxZoom: Double?
-
An object defining custom properties on the generated clusters if clustering is enabled, aggregating values from clustered points. Has the form
{"property_name": [operator, map_expression]}
.operator
is any expression function that accepts at least 2 operands (e.g."+"
or"max"
) — it accumulates the property value from clusters/points the cluster contains;map_expression
produces the value of a single point.Example:
{"sum": ["+", ["get", "scalerank"]]}
.For more advanced use cases, in place of
operator
, you can use a custom reduce expression that references a special["accumulated"]
value, e.g.:{"sum": [["+", ["accumulated"], ["get", "sum"]], ["get", "scalerank"]]}
Declaration
Swift
public var clusterProperties: [String : Expression]?
-
Whether to calculate line distance metrics. This is required for line layers that specify
line-gradient
values.Declaration
Swift
public var lineMetrics: Bool?
-
Whether to generate ids for the geojson features. When enabled, the
feature.id
property will be auto assigned based on its index in thefeatures
array, over-writing any previous values.Declaration
Swift
public var generateId: Bool?
-
A property to use as a feature id (for feature state). Either a property name, or an object of the form
{<sourceLayer>: <propertyName>}
.Declaration
Swift
public var promoteId: PromoteId?
-
When loading a map, if PrefetchZoomDelta is set to any number greater than 0, the map will first request a tile at zoom level lower than zoom - delta, but so that the zoom level is multiple of delta, in an attempt to display a full map at lower resolution as quick as possible. It will get clamped at the tile source minimum zoom. The default delta is 4.
Declaration
Swift
public var prefetchZoomDelta: Double?
-
Undocumented
Declaration
Swift
public init()
-
Declaration
Swift
public func encode(to encoder: Encoder) throws