Interface GeoJsonAdapterOptions<F, L, A, N>

Type Parameters



adapter?: string
attribution?: string

String to be shown in the attribution control. It describes the layer data and is often a legal obligation towards copyright holders and tile providers.

baselayer?: boolean

Indicate on a cartographic base layer.

cluster?: boolean
clusterMaxZoom?: number

Max zoom to cluster points on

clusterRadius?: number

Radius of each cluster when clustering points

Default Value

crossOrigin?: "anonymous"

Parameter added when forming a request for layer data. This is needed if you want to access tile pixel data. Refer to CORS Settings for valid String values.

data?: GeoJsonObject

Geojson data

featureIdName?: string
fields?: null | false | (keyof ExtractFeatureProperties<F>)[]
filter?: DataLayerFilter<F, L>
fit?: boolean

Fit map to layer extent

Default Value

headers?: Record<string, any>
heightOffset?: number
id?: string

Unique Layer ID. If not specified, will be added automatically.


If the layer adapter is asynchronous, its id will be assigned only after the promise is resolved. While adapter is loading, methods for obtaining layers will ignore the added layer.

interactive?: boolean
intersects?: string | LngLatBoundsArray | LngLatArray[]

WKT polygon geometry

label?: ((e) => string)

Type declaration

labelField?: keyof ExtractFeatureProperties<F> extends null
    ? string
    : keyof ExtractFeatureProperties<F>
labelOnHover?: boolean
labelVisibility?: boolean

Show set label immediately

Default Value

layers?: string
layout?: any


  • TODO: move to nativeOptions
limit?: number

Limit (paginated) - max number of entities should be taken.

maxScale?: number

TODO: replace by maxZoom


use maxZoom instead

maxZoom?: number

Maximum zoom level of the map.

minScale?: number

TODO: replace by minZoom


use minZoom instead

minZoom?: number

Minimum zoom level of the map.

multiselect?: boolean

Indicates whether several objects can be selected in one layer.


// multiselect: false{ feature }) => === 'green'); // one feature will be selected
// multiselect: true{ feature }) => === 'green'); // all 'green' features will be selected
name?: string

Non-unique name of the layer. Can be used for user interfaces.

nativeFilter?: unknown


  • TODO: move to nativeOptions
nativeOptions?: N

Map and layer adapter base options Use with care. There may be a conflict in the addLayer method by the adapter of the NextGIS Frontend library

nativePaint?: boolean | Record<string, any>


  • TODO: move to nativeOptions
offset?: number

Offset (paginated) where from entities should be taken.

onAdded?: ((layer) => void)

Type declaration

opacity?: number

Layer transparency. From 0-transparent to 1-visible

Default Value

order?: number

Indicates the map layers display sequence. A layer with a larger order value overlaps smaller ones. Zero value used to indicate baselayer. If the value is not specified explicitly, it will be assigned automatically with an increase of one for each new layer.

orderBy?: (string | keyof ExtractFeatureProperties<F>)[]

set fields for order


TODO: use typescript 4.1 template string type for map -${field}


{ "orderBy": ["field1", "-field2"] }
paint?: Paint<F>

Determine the appearance of the vector data geometries.


const circlePaint = { paint: { color: 'green', radius: 6 } };
const paintCb = (feature) => {
return { color: 'red', opacity: }


// Use global paint function
// set paint function inside WebMap static property
WebMap.getPaintFunctions.customPaintFunction = customIconPaintFunction

webMap.addLayer('GEOJSON', {
paint: {
type: 'get-paint',
from: 'customPaintFunction',
options: {}
popup?: boolean
popupOnHover?: boolean
popupOnSelect?: boolean
popupOptions?: PopupOptions<F, L>
props?: A

Any properties to save in layer. May be useful to get additional info from layer event.

ratio?: number
selectOnHover?: boolean

Make the feature selected while mouseover.

selectable?: boolean

Determines whether objects are selected by mouse click.


const layer = webMap.addLayer('GEOJSON', {
paint: { color: 'red' },
selectedPaint: { color: 'green' },
selectable: false
// programmatically selection - ok, but not on mouse click{ feature }) => === ID_FOR_SELECT);
selectedLayout?: any


  • TODO: move to nativeOptions
selectedPaint?: Paint<F>

The paint that applies to the features after it becomes selected.


webMap.addLayer('GEOJSON', {
paint: { color: 'red' },
selectedPaint: { color: 'green' }
setViewDelay?: number

Experimental option to set the map loading delay when changing position

source?: unknown
srs?: number

Experimental only for Ol yet

strategy?: "BBOX" | "BBOX+"

Type for geometries painting, for each layer may be only one of: point, polygon or line.

unselectOnClick?: boolean

If false, the selection will be reset when the user clicks the map.

Default Value

unselectOnSecondClick?: boolean

Deselects layer feature by second click.

visibility?: boolean

Show layer on the map immediately after adding. Such layers are always under others. Only one base layer can be displayed on the map at a time.


TODO: replace by show

Default Value

waitFullLoad?: boolean

Wait until the layer data is fully loaded before allowing added to the map.


If true, addLayer promise resolve only after data loading. This is useful for GeoJson vector layer adapters when you need to process downloaded data before displaying.


Generated using TypeDoc