OptionalattributionAttribution information for data sources used by this provider.
Attributions are automatically displayed or hidden depending on whether the corresponding data is currently active or visible on the map — e.g., based on zoom level, layer visibility, or usage. This ensures that only active data providers are credited, as required by licensing.
Can be a simple string (displayed as static text), or an array of structured attribution entries that support clickable labels and optional tooltips.
OptionaleditableAllow or prevent editing by the Editor module.
OptionalenforceEnforce random ids for newly created features. If "enforceRandomFeatureId" is set to true, the ids of features created by editor.addFeature are ignored and randomly created. If "enforceRandomFeatureId" is set to false, ids of features created by editor.addFeature can be set. Random ids are only generated if none have been set.
OptionalheadersSet custom url service headers. Custom headers will be applied to all request done by provider.
OptionalhooksAdd hook functions that will be called during the execution of the corresponding "editing operation". The "hooks" option is a map with the "editing operation" as its key and the corresponding Hook or Array of Hook function(s) as its value.
Available editing operations are 'Navlink.disconnect', 'Navlink.split', 'Feature.remove', 'Coordinates.remove'.
OptionalCoordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]The CoordinatesUpdateHook(s) will be called whenever the coordinates of a feature are added, updated or removed ('Coordinates.update' operation).
OptionalFeature.remove?: FeatureRemoveHook | FeatureRemoveHook[]The FeatureRemoveHook(s) will be called when a feature is being removed ('Feature.remove' operation).
OptionalNavlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]The NavlinkDisconnectHook(s) will be called whenever a Navlink is disconnected from an intersection ('Navlink.disconnect' operation).
OptionalNavlink.split?: NavlinkSplitHook | NavlinkSplitHook[]The NavlinkSplitHook(s) will be called whenever a Navlink is devided into two new Navlinks. ('Navlink.split' operation).
OptionalhttpsIndicates if the requests should be made with https.
Optionalidoptional id to identify the provider.
OptionalignoreTo prevent an overwhelming volume of tile requests, any requests for zoom levels lower than the provider's setting are disregarded. Enabling "ignoreTileQueryLimit" will bypass the tile query limit but may risk browser crashes.
The zoomlevel at which tiles should be loaded from remote and a local index gets created.
OptionalmarginTile margin of the provider.
OptionalnameName of the provider.
OptionalparamsSet custom url parameters. Custom parameters will be applied to all request done by provider.
OptionalprePreprocessor for remote data sources. A function runs on the main thread and
receives data, ready, and tile; it may return the processed features or a
Promise, or use ready for legacy callback-style async work. Use the worker
configuration on an HTTP/GeoJSON provider to automatically load and preprocess
GeoJSON in one worker per provider using an automatically selected worker loader.
Each LoaderManager limits concurrent tile tasks to 16, covering both download
and preprocessing. Started preprocessing is not cancelled; late results of
cancelled tile requests are ignored.
Worker processors receive only data and tile, plus the
context as a second argument, and must return the processed array or a Promise
of that array. The context exposes options and utils
for decoding base64, decompressing bytes, and preparing raw TGA model textures
without main-thread decoding.
They do not receive a provider reference or a ready callback. Worker mode is
not supported by RemoteTileProvider with a custom loader. ArrayBuffers,
typed-array buffers, and ImageBitmaps in the returned data are transferred to
the main thread; the corresponding worker-side resources are detached. Blob
assets are structured-cloned as Blobs, rather than returned as large text strings.
Configure both phases with PreProcessorOptions: worker and main each
accept one stage or an array. All worker stages execute sequentially after
download/parse in the same worker, with one final transfer; main stages then
execute sequentially before ingestion. No per-stage workers or transfers back
to the worker are used. Both phases are optional, and {} or empty arrays are
explicit identity. Main-only phases support custom loaders. Invalid or mixed
legacy/phased configurations throw rather than skipping stages.
See PreProcessorPipelineOptions for a worker preparation and main mapping example.
OptionalurlURL for requesting tiles.
It is either a string which may contain following flags that will be replaced by provider:
or a callback function that's called with the following parameters z,y,x,quadkey and needs to return the url for the respective tile. The callback function needs to handle custom parameters by its own.
OptionalwithIndicates if requests are made with credentials.
OptionalpostPostProcessor for remote data sources. The PostProcessor will be executed just before created/modified or removed Features will be sent to the remote backend. If the processor function is returning the processed data then its treated as a synchronous processor. If the processor function does not return any value (undefined) or a Promise then its treated as asynchronous processor. An asynchronous processor that's not using a Promise MUST call the input.ready(..) callback when data processing is finished.
Due to the execution of the processor in a separate worker thread the processor function must be scope independent. The processor must be a "standalone function/class" that only depends on its own scope and only accesses its own local variables. No references to the outer scope of the processor function are allowed.
Options to configuration of HTTPProvider.