GeoJsonSource

A GeoJSON data source.

class GeoJsonSource(builder: GeoJsonSource.Builder) : Source

See also

Constructors

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

Types

Builder
Link copied to clipboard

Builder for GeoJsonSource.

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

Static variables and methods.

object Companion

Functions

bindTo
Link copied to clipboard

Add the source to the Style.

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

A URL to a GeoJSON file, or inline GeoJSON.

fun data(value: String): GeoJsonSource
equals
Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
feature
Link copied to clipboard

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.

In order to capture events when actual data is drawn on the map please refer to Observer API and listen to MapEvents.STYLE_DATA_LOADED or MapEvents.MAP_LOADING_ERROR with type = source if data parsing error has occurred.

Note: This method is not thread-safe. The Feature is parsed on a worker thread, please make sure the Feature is immutable.

fun feature(value: Feature): GeoJsonSource
featureCollection
Link copied to clipboard

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.

In order to capture events when actual data is drawn on the map please refer to Observer API and listen to MapEvents.STYLE_DATA_LOADED or MapEvents.MAP_LOADING_ERROR with type = source if data parsing error has occurred.

Note: This method is not thread-safe. The FeatureCollection is parsed on a worker thread, please make sure the FeatureCollection is immutable.

fun featureCollection(value: FeatureCollection): GeoJsonSource
geometry
Link copied to clipboard

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.

In order to capture events when actual data is drawn on the map please refer to Observer API and listen to MapEvents.STYLE_DATA_LOADED or MapEvents.MAP_LOADING_ERROR with type = source if data parsing error has occurred.

Note: This method is not thread-safe. The Geometry is parsed on a worker thread, please make sure the Geometry is immutable.

fun geometry(value: Geometry): GeoJsonSource
getCachedSourceProperties
Link copied to clipboard
override fun getCachedSourceProperties(): Value
hashCode
Link copied to clipboard
open override fun hashCode(): Int
prefetchZoomDelta
Link copied to clipboard

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.

fun prefetchZoomDelta(value: Long): GeoJsonSource
toString
Link copied to clipboard

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

open override fun toString(): String
updateProperty
Link copied to clipboard
override fun updateProperty(property: PropertyValue<*>, throwRuntimeException: Boolean)
url
Link copied to clipboard

A URL to a GeoJSON file, or inline GeoJSON.

fun url(value: String): GeoJsonSource

Properties

attribution
Link copied to clipboard

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

val attribution: String?
buffer
Link copied to clipboard

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.

val buffer: Long?
cluster
Link copied to clipboard

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 Is true if the point is a cluster

  • cluster_id A unqiue id for the cluster to be used in conjunction with the cluster inspection methods

  • point_count Number of original points grouped into this cluster

  • point_count_abbreviated An abbreviated point count

val cluster: Boolean?
clusterMaxZoom
Link copied to clipboard

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.

val clusterMaxZoom: Long?
clusterProperties
Link copied to clipboard

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"]]}

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

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

val clusterRadius: Long?
data
Link copied to clipboard

A URL to a GeoJSON file, or inline GeoJSON.

Note: Getter for plain Geojson string data is not supported due to performance consideration.

val data: String?
generateId
Link copied to clipboard

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.

val generateId: Boolean?
lineMetrics
Link copied to clipboard

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

val lineMetrics: Boolean?
maxzoom
Link copied to clipboard

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

val maxzoom: Long?
prefetchZoomDelta
Link copied to clipboard

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.

val prefetchZoomDelta: Long?
promoteId
Link copied to clipboard

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

val promoteId: PromoteId?
sourceId
Link copied to clipboard

The ID of the Source.

override val sourceId: String
tolerance
Link copied to clipboard

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

val tolerance: Double?