GeoJSONSource
Defined in: source/geojson_source.ts:144
A source containing GeoJSON. (See the Style Specification for detailed documentation of options.)
Examples
map.addSource('some id', {
type: 'geojson',
data: 'https://d2ad6b4ur7yvpq.cloudfront.net/naturalearth-3.3.0/ne_10m_ports.geojson'
});
map.addSource('some id', {
type: 'geojson',
data: {
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Point",
"coordinates": [
-76.53063297271729,
39.18174077994108
]
}
}]
}
});
map.getSource('some id').setData({
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"properties": { "name": "Null Island" },
"geometry": {
"type": "Point",
"coordinates": [ 0, 0 ]
}
}]
});
See
Extends
Implements
Methods
_updateWorkerData()
_updateWorkerData():
Promise<void>
Defined in: source/geojson_source.ts:425
Responsible for invoking WorkerSource's geojson.loadData target, which handles loading the geojson data and preparing to serve it up as tiles, using geojson-vt or supercluster as appropriate.
Returns
Promise<void>
abortTile()
abortTile(
tile:Tile):Promise<void>
Defined in: source/geojson_source.ts:656
Allows to abort a tile loading.
Parameters
| Parameter | Type | Description |
|---|---|---|
tile |
Tile |
The tile to abort |
Returns
Promise<void>
Implementation of
getBounds()
getBounds():
Promise<LngLatBounds>
Defined in: source/geojson_source.ts:321
Allows getting the source's boundaries. If there's a problem with the source's data, it will return an empty LngLatBounds.
Returns
Promise<LngLatBounds>
a promise which resolves to the source's boundaries
getClusterChildren()
getClusterChildren(
clusterId:number):Promise<Feature<Geometry, {[name:string]:any; }>[]>
Defined in: source/geojson_source.ts:381
For clustered sources, fetches the children of the given cluster on the next zoom level (as an array of GeoJSON features).
Parameters
| Parameter | Type | Description |
|---|---|---|
clusterId |
number |
The value of the cluster's cluster_id property. |
Returns
Promise<Feature<Geometry, {[name: string]: any; }>[]>
a promise that is resolved when the features are retrieved
getClusterExpansionZoom()
getClusterExpansionZoom(
clusterId:number):Promise<number>
Defined in: source/geojson_source.ts:371
For clustered sources, fetches the zoom at which the given cluster expands.
Parameters
| Parameter | Type | Description |
|---|---|---|
clusterId |
number |
The value of the cluster's cluster_id property. |
Returns
Promise<number>
a promise that is resolved with the zoom number
getClusterLeaves()
getClusterLeaves(
clusterId:number,limit:number,offset:number):Promise<Feature<Geometry, {[name:string]:any; }>[]>
Defined in: source/geojson_source.ts:410
For clustered sources, fetches the original points that belong to the cluster (as an array of GeoJSON features).
Parameters
| Parameter | Type | Description |
|---|---|---|
clusterId |
number |
The value of the cluster's cluster_id property. |
limit |
number |
The maximum number of features to return. |
offset |
number |
The number of features to skip (e.g. for pagination). |
Returns
Promise<Feature<Geometry, {[name: string]: any; }>[]>
a promise that is resolved when the features are retrieved
Example
Retrieve cluster leaves on click
map.on('click', 'clusters', (e) => {
let features = map.queryRenderedFeatures(e.point, {
layers: ['clusters']
});
let clusterId = features[0].properties.cluster_id;
let pointCount = features[0].properties.point_count;
let clusterSource = map.getSource('clusters');
const features = await clusterSource.getClusterLeaves(clusterId, pointCount);
// Print cluster leaves in the console
console.log('Cluster leaves:', features);
});
getClusterOptions()
getClusterOptions():
GetClusterOptions
Defined in: source/geojson_source.ts:356
Gets the cluster options currently configured on the source.
The returned values mirror the options accepted by setClusterOptions.
Returns
the source's current cluster options
Example
getData()
getData():
Promise<GeoJSON<Geometry, {[name:string]:any; }>>
Defined in: source/geojson_source.ts:303
Allows to get the source's actual GeoJSON data.
Returns
Promise<GeoJSON<Geometry, {[name: string]: any; }>>
a promise which resolves to the source's actual GeoJSON data
hasTransition()
hasTransition():
boolean
Defined in: source/geojson_source.ts:686
True if the source has transition, false otherwise.
Returns
boolean
Implementation of
listens()
listens(
type:string):boolean
Defined in: util/evented.ts:180
Returns a true if this instance of Evented or any forwardeed instances of Evented have a listener for the specified type.
Parameters
| Parameter | Type | Description |
|---|---|---|
type |
string |
The event type |
Returns
boolean
true if there is at least one registered listener for specified event type, false otherwise
Inherited from
loaded()
loaded():
boolean
Defined in: source/geojson_source.ts:617
True if the source is loaded, false otherwise.
Returns
boolean
Implementation of
loadTile()
loadTile(
tile:Tile):Promise<void>
Defined in: source/geojson_source.ts:621
This method does the heavy lifting of loading a tile. In most cases it will defer the work to the relevant worker source.
Parameters
| Parameter | Type | Description |
|---|---|---|
tile |
Tile |
The tile to load |
Returns
Promise<void>
Implementation of
off()
off<
T>(type:T,listener: (event:SourceEventType[T]) =>void):this
Defined in: util/evented.ts:95
Removes a previously registered event listener.
Type Parameters
| Type Parameter |
|---|
T extends keyof SourceEventType |
Parameters
| Parameter | Type | Description |
|---|---|---|
type |
T |
The event type to remove listeners for. |
listener |
(event: SourceEventType[T]) => void |
The listener function to remove. |
Returns
this
Inherited from
on()
on<
T>(type:T,listener: (event:SourceEventType[T]) =>void):Subscription
Defined in: util/evented.ts:78
Adds a listener to a specified event type.
Type Parameters
| Type Parameter |
|---|
T extends keyof SourceEventType |
Parameters
| Parameter | Type | Description |
|---|---|---|
type |
T |
The event type to add a listen for. |
listener |
(event: SourceEventType[T]) => void |
The function to be called when the event is fired. The listener function is called with the data object passed to fire, extended with target and type properties. |
Returns
Inherited from
onAdd()
onAdd(
map:Map):void
Defined in: source/geojson_source.ts:263
This method is called when the source is added to the map.
Parameters
| Parameter | Type | Description |
|---|---|---|
map |
Map |
The map instance |
Returns
void
Implementation of
once()
Call Signature
once<
T>(type:T):Promise<SourceEventType[T]>
Defined in: util/evented.ts:110
Adds a listener that will be called only once to a specified event type.
The listener will be called first time the event fires after the listener is registered.
Type Parameters
| Type Parameter |
|---|
T extends keyof SourceEventType |
Parameters
| Parameter | Type | Description |
|---|---|---|
type |
T |
The event type to listen for. |
Returns
Promise<SourceEventType[T]>
a promise that resolves with the event
Inherited from
Call Signature
once<
T>(type:T,listener: (event:SourceEventType[T]) =>void):this
Defined in: util/evented.ts:120
Adds a listener that will be called only once to a specified event type.
The listener will be called first time the event fires after the listener is registered.
Type Parameters
| Type Parameter |
|---|
T extends keyof SourceEventType |
Parameters
| Parameter | Type | Description |
|---|---|---|
type |
T |
The event type to listen for. |
listener |
(event: SourceEventType[T]) => void |
The function to be called when the event is fired the first time. |
Returns
this
this when a listener is provided
Inherited from
onRemove()
onRemove():
void
Defined in: source/geojson_source.ts:669
This method is called when the source is removed from the map.
Returns
void
Implementation of
serialize()
serialize():
GeoJSONSourceSpecification
Defined in: source/geojson_source.ts:674
Returns
GeoJSONSourceSpecification
A plain (stringifiable) JS object representing the current state of the source.
Creating a source using the returned object as the options should result in a Source that is
equivalent to this one.
Implementation of
setClusterOptions()
setClusterOptions(
options:SetClusterOptions):Promise<void>
Defined in: source/geojson_source.ts:334
To disable/enable clustering on the source options
Parameters
| Parameter | Type | Description |
|---|---|---|
options |
SetClusterOptions |
The options to set |
Returns
Promise<void>
Example
map.getSource('some id').setClusterOptions({cluster: false});
map.getSource('some id').setClusterOptions({cluster: false, clusterRadius: 50, clusterMaxZoom: 14});
setData()
setData(
data:string|GeoJSON<Geometry, {[name:string]:any; }>):Promise<void>
Defined in: source/geojson_source.ts:273
Sets the GeoJSON data and re-renders the map.
Parameters
| Parameter | Type | Description |
|---|---|---|
data |
string | GeoJSON<Geometry, {[name: string]: any; }> |
A GeoJSON data object or a URL to one. The latter is preferable in the case of large GeoJSON files. |
Returns
Promise<void>
setEventedParent()
setEventedParent(
parent?:Evented<Record<string,any>>,data?:any):this
Defined in: util/evented.ts:191
Bubble all events fired by this instance of Evented to this parent instance of Evented.
Parameters
| Parameter | Type |
|---|---|
parent? |
Evented<Record<string, any>> |
data? |
any |
Returns
this
Inherited from
unloadTile()
unloadTile(
tile:Tile):Promise<void>
Defined in: source/geojson_source.ts:664
Allows to unload a tile.
Parameters
| Parameter | Type | Description |
|---|---|---|
tile |
Tile |
The tile to unload |
Returns
Promise<void>
Implementation of
updateData()
updateData(
diff:GeoJSONSourceDiff):Promise<void>
Defined in: source/geojson_source.ts:293
Updates the source's GeoJSON, and re-renders the map.
For sources with lots of features, this method can be used to make updates more quickly.
This approach requires unique IDs for every feature in the source. The IDs can either be specified on the feature, or by using the promoteId option to specify which property should be used as the ID.
It is an error to call updateData on a source that did not have unique IDs for each of its features already.
Updates are applied on a best-effort basis, updating an ID that does not exist will not result in an error.
Parameters
| Parameter | Type | Description |
|---|---|---|
diff |
GeoJSONSourceDiff |
The changes that need to be applied. |
Returns
Promise<void>
Properties
attribution
attribution:
string
Defined in: source/geojson_source.ts:150
The attribution for the source.
Implementation of
id
id:
string
Defined in: source/geojson_source.ts:146
The id for the source. Must not be used by any existing source.
Implementation of
isTileClipped
isTileClipped:
boolean
Defined in: source/geojson_source.ts:153
false if tiles can be drawn outside their boundaries, true if they cannot.
Implementation of
maxzoom
maxzoom:
number
Defined in: source/geojson_source.ts:148
The maximum zoom level for the source.
Implementation of
minzoom
minzoom:
number
Defined in: source/geojson_source.ts:147
The minimum zoom level for the source.
Implementation of
reparseOverscaled
reparseOverscaled:
boolean
Defined in: source/geojson_source.ts:154
true if tiles should be sent back to the worker for each overzoomed zoom level, false if not.
Implementation of
tileSize
tileSize:
number
Defined in: source/geojson_source.ts:149
The tile size for the source.