GeoJsonSource

class GeoJsonSource : Source

A GeoJSON data source.

See also

Constructors

GeoJsonSource
Link copied to clipboard
fun GeoJsonSource(builder: GeoJsonSource.Builder)

Types

Builder
Link copied to clipboard
class Builder(sourceId: String)

Builder for GeoJsonSource.

Companion
Link copied to clipboard
object Companion

Static variables and methods.

Functions

bindTo
Link copied to clipboard
open override fun bindTo(delegate: StyleInterface)

Add the GeoJsonSource to the Style.

data
Link copied to clipboard
fun data(value: String, dataId: String? = null): GeoJsonSource
feature
Link copied to clipboard
fun feature(value: Feature, dataId: String? = null): GeoJsonSource

Add a Feature to the GeojsonSource. Data will be parsed from collection to String in a worker thread and use main thread to pass this data to gl-native.

featureCollection
Link copied to clipboard
fun featureCollection(value: FeatureCollection, dataId: String? = null): GeoJsonSource

Add a Feature Collection to the GeojsonSource. Data will be parsed from collection to String in a worker thread and use main thread to pass this data to gl-native.

geometry
Link copied to clipboard
fun geometry(value: Geometry, dataId: String? = null): GeoJsonSource

Add a Geometry to the GeojsonSource. Data will be parsed from collection to String in a worker thread and use main thread to pass this data to gl-native.

prefetchZoomDelta
Link copied to clipboard
fun prefetchZoomDelta(value: Long = 4L): GeoJsonSource

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.

toString
Link copied to clipboard
open override fun toString(): String

Returns a human readable string that includes the cached properties of the source.

url
Link copied to clipboard
fun url(value: String, dataId: String? = null): GeoJsonSource

Properties

attribution
Link copied to clipboard
val attribution: String?

Contains an attribution to be displayed when the map is shown to a user.

buffer
Link copied to clipboard
val buffer: Long?

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.

cluster
Link copied to clipboard
val cluster: Boolean?

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:

clusterMaxZoom
Link copied to clipboard
val clusterMaxZoom: Long?

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.

clusterProperties
Link copied to clipboard
val clusterProperties: HashMap<String, Any>?

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.

clusterRadius
Link copied to clipboard
val clusterRadius: Long?

Radius of each cluster if clustering is enabled. A value of 512 indicates a radius equal to the width of a tile.

data
Link copied to clipboard
val data: String?

A URL to a GeoJSON file, or inline GeoJSON.

generateId
Link copied to clipboard
val generateId: Boolean?

Whether to generate ids for the geojson features. When enabled, the feature.id property will be auto assigned based on its index in the features array, over-writing any previous values.

lineMetrics
Link copied to clipboard
val lineMetrics: Boolean?

Whether to calculate line distance metrics. This is required for line layers that specify line-gradient values.

maxzoom
Link copied to clipboard
val maxzoom: Long?

Maximum zoom level at which to create vector tiles (higher means greater detail at high zoom levels).

prefetchZoomDelta
Link copied to clipboard
val prefetchZoomDelta: Long?

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.

promoteId
Link copied to clipboard
val promoteId: PromoteId?

A property to use as a feature id (for feature state). Either a property name, or an object of the form {<sourceLayer>: <propertyName>}.

sourceId
Link copied to clipboard
val sourceId: String

The ID of the Source.

tolerance
Link copied to clipboard
val tolerance: Double?

Douglas-Peucker simplification tolerance (higher means simpler geometries and faster performance).