For AI agents: a documentation index is available at /llms.txt. Markdown versions of all pages are available by appending .md to any URL.
Class GeoJSONSourceMaptiler
Hierarchy (View Summary)
- GeoJSONSource
- GeoJSONSource
Constructors
constructor
-
new GeoJSONSource(
id: string,
options: GeoJSONSourceOptions,
dispatcher: Dispatcher,
eventedParent: Evented,
): GeoJSONSourceParameters
- id: string
- options: GeoJSONSourceOptions
- dispatcher: Dispatcher
- eventedParent: Evented
Returns GeoJSONSource
Properties
actor
attribution
The attribution for the source.
id
The id for the source. Must not be used by any existing source.
isTileClipped
false if tiles can be drawn outside their boundaries, true if they cannot.
map
maxzoom
The maximum zoom level for the source.
minzoom
The minimum zoom level for the source.
promoteId
reparseOverscaled
true if tiles should be sent back to the worker for each overzoomed zoom level, false if not.
tileSize
The tile size for the source.
type
workerOptions
Methods
abortTile
fire
getBounds
-
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
-
For clustered sources, fetches the children of the given cluster on the next zoom level (as an array of GeoJSON features).
Parameters
- clusterId: number
The value of the cluster's
cluster_idproperty.
Returns Promise<Feature<Geometry, GeoJsonProperties>[]>
a promise that is resolved when the features are retrieved
- clusterId: number
getClusterExpansionZoom
-
For clustered sources, fetches the zoom at which the given cluster expands.
Parameters
- clusterId: number
The value of the cluster's
cluster_idproperty.
Returns Promise<number>
a promise that is resolved with the zoom number
- clusterId: number
getClusterLeaves
-
getClusterLeaves(
clusterId: number,
limit: number,
offset: number,
): Promise<Feature<Geometry, GeoJsonProperties>[]>For clustered sources, fetches the original points that belong to the cluster (as an array of GeoJSON features).
Parameters
- clusterId: number
The value of the cluster's
cluster_idproperty. - 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, GeoJsonProperties>[]>
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); }); - clusterId: number
getData
-
Allows to get the source's actual GeoJSON data.
Returns Promise<GeoJSON<Geometry, GeoJsonProperties>>
a promise which resolves to the source's actual GeoJSON data
hasTransition
-
True if the source has transition, false otherwise.
Returns boolean
listens
-
Returns a true if this instance of Evented or any forwardeed instances of Evented have a listener for the specified type.
Parameters
- type: string
The event type
Returns boolean
trueif there is at least one registered listener for specified event type,falseotherwise - type: string
load
-
Returns Promise<void>
loaded
-
True if the source is loaded, false otherwise.
Returns boolean
loadTile
-
This method does the heavy lifting of loading a tile. In most cases it will defer the work to the relevant worker source.
Parameters
- tile: Tile
The tile to load
Returns Promise<void>
- tile: Tile
off
-
Removes a previously registered event listener.
Parameters
- type: string
The event type to remove listeners for.
- listener: Listener
The listener function to remove.
Returns this
- type: string
on
-
Adds a listener to a specified event type.
Parameters
- type: string
The event type to add a listen for.
- listener: Listener
The function to be called when the event is fired. The listener function is called with the data object passed to
fire, extended withtargetandtypeproperties.
Returns Subscription
- type: string
MaptileronAdd
-
This method is called when the source is added to the map.
Parameters
- map: MapLibreMap | Map
The map instance
Returns void
- map: MapLibreMap | Map
once
-
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.
Parameters
- type: string
The event type to listen for.
Optionallistener: ListenerThe function to be called when the event is fired the first time.
Returns Promise<any> | GeoJSONSource
thisor a promise if a listener is not provided - type: string
onRemove
-
This method is called when the source is removed from the map.
Returns void
serialize
-
Returns GeoJSONSourceSpecification
A plain (stringifiable) JS object representing the current state of the source. Creating a source using the returned object as the
optionsshould result in a Source that is equivalent to this one.
setClusterOptions
-
To disable/enable clustering on the source options
Parameters
- options: SetClusterOptions
The options to set
Returns this
- options: SetClusterOptions
setData
-
setData(
data: string | GeoJSON<Geometry, GeoJsonProperties>,
waitForCompletion: true,
): Promise<void>Sets the GeoJSON data and re-renders the map.
Parameters
- data: string | GeoJSON<Geometry, GeoJsonProperties>
A GeoJSON data object or a URL to one. The latter is preferable in the case of large GeoJSON files.
- waitForCompletion: true
If true, the method will return a promise that resolves when set data is complete.
Returns Promise<void>
- data: string | GeoJSON<Geometry, GeoJsonProperties>
-
Sets the GeoJSON data and re-renders the map.
Parameters
- data: string | GeoJSON<Geometry, GeoJsonProperties>
A GeoJSON data object or a URL to one. The latter is preferable in the case of large GeoJSON files.
OptionalwaitForCompletion: falseIf true, the method will return a promise that resolves when set data is complete.
Returns this
- data: string | GeoJSON<Geometry, GeoJsonProperties>
setEventedParent
-
Bubble all events fired by this instance of Evented to this parent instance of Evented.
Parameters
Optionalparent: Evented | nullOptionaldata: any
Returns this
shouldReloadTile
-
Determine whether a tile should be reloaded based on a set of options associated with a MapSourceDataChangedEvent.
Parameters
- tile: Tile
- __namedParameters: GeoJSONSourceShouldReloadTileOptions
Returns boolean
unloadTile
updateData
-
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
- diff: GeoJSONSourceDiff
The changes that need to be applied.
- waitForCompletion: true
If true, the method will return a promise that resolves when the update is complete.
Returns Promise<void>
- diff: GeoJSONSourceDiff
-
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
- diff: GeoJSONSourceDiff
The changes that need to be applied.
OptionalwaitForCompletion: falseIf true, the method will return a promise that resolves when the update is complete.
Returns this
- diff: GeoJSONSourceDiff
A source containing GeoJSON. (See the Style Specification for detailed documentation of options.)
Example
Example
Example
See