Interface GeoJsonAdapterOptions<F, L, A, N>

Type Parameters

Hierarchy

Properties

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

50

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

false

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

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

Remarks

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

false

layers?: string
layout?: any

Deprecated

  • TODO: move to nativeOptions
limit?: number

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

maxScale?: number

TODO: replace by maxZoom

Deprecated

use maxZoom instead

maxZoom?: number

Maximum zoom level of the map.

minScale?: number

TODO: replace by minZoom

Deprecated

use minZoom instead

minZoom?: number

Minimum zoom level of the map.

multiselect?: boolean

Indicates whether several objects can be selected in one layer.

Example

// multiselect: false
layer.select(({ feature }) => feature.properties.color === 'green'); // one feature will be selected
// multiselect: true
layer.select(({ feature }) => feature.properties.color === 'green'); // all 'green' features will be selected
name?: string

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

nativeFilter?: unknown

Deprecated

  • 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>

Deprecated

  • 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

1

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

Remarks

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

Example

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

Determine the appearance of the vector data geometries.

Example

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

Example

// 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
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.

Example

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

Deprecated

  • TODO: move to nativeOptions
selectedPaint?: Paint<F, F["properties"]>

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

Example

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

true

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.

Remarks

TODO: replace by show

Default Value

true

waitFullLoad?: boolean

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

Remarks

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.

Methods

Generated using TypeDoc