[API](/solutions/geotoolkit/geotoolkit_js/apis/readme) / [geotoolkit](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit) / [map](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map) / [layers](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#layers) / [Projection](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#projection) / Projection

# Class: Projection

[layers](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#layers).[Projection](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#projection).Projection

Projection layer is used to transform and display rectangular nodes on the map projection.

## Hierarchy

- [`AbstractLayer`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer)
↳ **`Projection`**
↳↳ [`GeoTile`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.geotile.geotile)


## Table of contents

Constructors
- [new Projection(options)](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.map.layers.projection.projection.md#new projection(options))


Methods
| [addCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#addcssclass) | [addInvalidateHandler](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#addinvalidatehandler) | [calculateDefaultModelLimits](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#calculatedefaultmodellimits) |
|  --- | --- | --- |
| [checkCollision](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#checkcollision) | [clearCache](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#clearcache) | [clone](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#clone) |
| [connectStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#connectstyle) | [copyConstructor](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#copyconstructor) | [disconnectStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#disconnectstyle) |
| [dispose](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#dispose) | [enableEventPropagation](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#enableeventpropagation) | [execute](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#execute) |
| [getCache](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getcache) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getclassname) | [getContentNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getcontentnode) |
| [getCoordinateSystem](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getcoordinatesystem) | [getCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getcssclass) | [getCssClasses](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getcssclasses) |
| [getDataSource](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getdatasource) | [getDefaultModelLimits](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getdefaultmodellimits) | [getId](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getid) |
| [getLayerAlpha](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getlayeralpha) | [getMapCoordinateSystem](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getmapcoordinatesystem) | [getMaxZoom](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getmaxzoom) |
| [getMinZoom](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getminzoom) | [getModelLimits](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getmodellimits) | [getName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getname) |
| [getOptions](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getoptions) | [getParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getparent) | [getProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getproperties) |
| [getProperty](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getproperty) | [getPropertyKeys](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getpropertykeys) | [getResourceManager](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getresourcemanager) |
| [getRoot](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getroot) | [getSceneTransform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getscenetransform) | [getServerURL](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getserverurl) |
| [getTag](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#gettag) | [getTooltipFormatter](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#gettooltipformatter) | [getVisible](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getvisible) |
| [getVisibleByZoom](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getvisiblebyzoom) | [getVisibleModelLimits](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getvisiblemodellimits) | [getWorldTransform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getworldtransform) |
| [getZIndex](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getzindex) | [getZoomLayerVisibility](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getzoomlayervisibility) | [getZoomLevel](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getzoomlevel) |
| [hasCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#hascssclass) | [hasEventListener](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#haseventlistener) | [hitTest](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#hittest) |
| [invalidate](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#invalidate) | [invalidateParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#invalidateparent) | [isDisposed](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#isdisposed) |
| [isEventPropagationEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#iseventpropagationenabled) | [isLoading](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#isloading) | [isNotificationEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#isnotificationenabled) |
| [isSelectable](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#isselectable) | [isSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#issilent) | [load](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#load) |
| [notify](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#notify) | [off](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#off) | [on](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#on) |
| [onParentChanged](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#onparentchanged) | [onVisibilityChanged](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#onvisibilitychanged) | [removeCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#removecssclass) |
| [removeInvalidateHandler](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#removeinvalidatehandler) | [render](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#render) | [renderAsync](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#renderasync) |
| [renderContent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#rendercontent) | [renderContentAsync](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#rendercontentasync) | [setCache](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setcache) |
| [setContentNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setcontentnode) | [setCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setcssclass) | [setId](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setid) |
| [setLayerAlpha](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setlayeralpha) | [setMapCoordinateSystem](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setmapcoordinatesystem) | [setMaxZoom](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setmaxzoom) |
| [setMinZoom](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setminzoom) | [setModelLimits](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setmodellimits) | [setName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setname) |
| [setNotification](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setnotification) | [setOptions](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setoptions) | [setParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setparent) |
| [setProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setproperties) | [setProperty](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setproperty) | [setSelectable](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setselectable) |
| [setServerURL](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setserverurl) | [setSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setsilent) | [setTag](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#settag) |
| [setVisible](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setvisible) | [setZIndex](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#setzindex) | [toString](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#tostring) |
| [transformFromMap](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#transformfrommap) | [transformPoint](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#transformpoint) | [transformToMap](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#transformtomap) |
| [updateSceneTransformation](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#updatescenetransformation) | [updateState](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#updatestate) | [updateTimeStamp](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#updatetimestamp) |
| [enableSceneGraphNotification](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#enablescenegraphnotification) | [findParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#findparent) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#getclassname-1) |
| [isSceneGraphNotificationEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection#isscenegraphnotificationenabled) |


Css Properties
| Name  | Type  | Description |
|  --- | --- | --- |
| `alpha` | `number` | The alpha of the layer |
| `cssclass` | `string` | The css class name of this node |
| `id` | `string | number` | Id of the node, its a unique identifier |
| `limits` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect#css-props) | Limits of this layer |
| `limits-height` | `number` | Height |
| `limits-readonly` | `boolean` | Readonly |
| `limits-width` | `number` | Width |
| `limits-x` | `number` | Left |
| `limits-y` | `number` | Top |
| `name` | `string` | Name of the node. It is often used for debugging purposes or to simplify queries |
| `selectable` | `boolean` | Selectable node, a boolean to determine if selection should consider this node |
| `source` | [`AbstractSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.sources.abstractsource.abstractsource#css-props) | The layer data source |
| `source-system` | `string` | Initial data coordinate system |
| `source-url` | `string` | Data server url |
| `system` | [`GeodeticSystem`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#geodeticsystem#geodeticsystem) | Coordinate system this layer&#x27;s data is in |
| `tag` | `any` | Custom information associated with node. It is a user object which can be used by client code to store information or attach an application object to the shape |
| `url` | `string` | Server url |
| `visible` | `boolean` | Visibility of the node, a boolean to determine if the node should be rendered or not |
| `z-index` | `number` | Define node z-index |


## Contents

Constructors
#### new Projection(options)

• **new Projection**(`options?`)

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `options` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#projection#options) | options |


#### Overrides

AbstractLayer.constructor

Methods
#### addCssClass

▸ **addCssClass**(`cssclass`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Adds new css class to node

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `cssclass` | `string` | `string`[] | css class name('s) |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[addCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#addcssclass)

#### addInvalidateHandler

▸ **addInvalidateHandler**(`handler`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Add invalidate handler

**`Deprecated`**

since 4.0, use Node.on instead

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `handler` | `Function` | handler to be notified about invalidation |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[addInvalidateHandler](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#addinvalidatehandler)

#### calculateDefaultModelLimits

▸ `Protected` **calculateDefaultModelLimits**(`data?`): [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

Returns default model limits (based on the map coordinate system)

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `data` | [`AbstractFeature`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.features.abstractfeature.abstractfeature)[] | [`Iterator`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.iterator.iterator)<[`AbstractFeature`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.features.abstractfeature.abstractfeature)&gt; | feature data changed (for feature layers), nothing otherwise |


#### Returns

[`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[calculateDefaultModelLimits](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#calculatedefaultmodellimits)

#### checkCollision

▸ **checkCollision**(`context`): `boolean`

Check if this node is within the area being rendered by the context

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `context` | [`RenderingContext`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.renderingcontext.renderingcontext) | Rendering Context |


#### Returns

`boolean`

true if object is inside of renderable area

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[checkCollision](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#checkcollision)

#### clearCache

▸ **clearCache**(): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Clear cache

#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[clearCache](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#clearcache)

#### clone

▸ **clone**(): [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)

All subclasses should override copyConstructor or provide custom implementation for this method

#### Returns

[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)

clone

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[clone](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#clone)

#### connectStyle

▸ **connectStyle**(`style`, `type`, `callback`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Connects style.<br>
<br>
This convenience method subscribes a listener to given style for the specified type.<br>
And automatically un-subscribes listener if node is disposed to prevent memory leaks

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `style` | [`EventDispatcher`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher) | connect style |
| `type` | `string` | type of event or property |
| `callback` | [`AttributeCallback`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.attributes#istylelistener#attributecallback)<[`EventDispatcher`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher)&gt; | function to be called |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[connectStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#connectstyle)

#### copyConstructor

▸ `Protected` **copyConstructor**(`src`, `deepCopy?`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Copy constructor function.<br>
Function used as part of the cloning mechanism.<br>
Implementations should copy the given instance state to this instance.<br>

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `src` | [`AbstractLayer`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer) | Source to copy from |
| `Optional` `deepCopy` | `boolean` | deep copy |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[copyConstructor](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#copyconstructor)

#### disconnectStyle

▸ **disconnectStyle**(`style`, `type`, `callback`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Disconnect style
<br>
This convenience method un-subscribes a listener to given style for the specified type.<br>

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `style` | [`EventDispatcher`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher) | connect style |
| `type` | `string` | type of event or property |
| `callback` | [`AttributeCallback`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.attributes#istylelistener#attributecallback)<[`EventDispatcher`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher)&gt; | function to be called |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[disconnectStyle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#disconnectstyle)

#### dispose

▸ **dispose**(): `void`

Disposes this layer, once disposed it should not be used anymore.<br>

#### Returns

`void`

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[dispose](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#dispose)

#### enableEventPropagation

▸ **enableEventPropagation**(`enable`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Enable event propagation from the node hierarchy from bottom to top
<p>
This option is similar to DOM Event bubbling, which allows
to get any event from child node. By default it is disabled
for better performance.
</p>

**`Example`**

```ts
import {Group} from '@int/geotoolkit/scene/Group';
import {Events as SceneEvents} from '@int/geotoolkit/scene/Node';
const parentGroup = new Group()
.setName('ParentGroup')
.enableEventPropagation(true);
const childGroup = new Group()
.setName('ChildGroup');

parentGroup.addChild(childGroup);
parentGroup.on(SceneEvents.Invalidate, (eventName, sender, args) =&gt; {
// Got notifications from all children of parent group
});
childGroup.invalidate();
```

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `enable` | `boolean` | enable |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[enableEventPropagation](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#enableeventpropagation)

#### execute

▸ **execute**(`delegate`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Executes delegate and return the result. It allows us to keep all initialization calls in one place, <br>
and we do not need to scroll up or down in IDE to find how and where it was initialized.

**`Example`**

```ts
// All setters (.setName() for example) returns reference to the this.
// In order to modify inner object like LineStyle or Pattern, to get this object (property) we should call getter to get object reference.
// Then modify it as shown below in Option 1 or you can use execute methods shown in Option 2.
import {Group} from '@int/geotoolkit/scene/Group';
import {Rect} from '@int/geotoolkit/util/Rect';
// Option 1
const group = new Group()
.setName('MyGroup')
.setBounds(new Rect(0, 0, 42, 16))
.enableClipping(true)
.setTag({'type': 'sometype'});

group.getLineStyle().setPattern('pattern');
return group;

// Options 2 ( using execute method )
return group
.execute(function () {
this.getLineStyle()
.setPattern("pattern");
});
```

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `delegate` | (`this`: [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)) => `void` | Function to execute |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

The result if any or this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[execute](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#execute)

▸ **execute**<`T`&gt;(`delegate`): `T`

#### Type parameters

| Name |
|  --- |
| `T` |


#### Parameters

| Name  | Type  |
|  --- | --- |
| `delegate` | (`this`: [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)) => `T` |


#### Returns

`T`

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[execute](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#execute)

#### getCache

▸ **getCache**(): [`Cache`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.cache.cache)

Return cache strategy to be used to cache children nodes

#### Returns

[`Cache`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.cache.cache)

cache cache strategy

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getCache](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getcache)

#### getClassName

▸ **getClassName**(): `string`

#### Returns

`string`

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getclassname)

#### getContentNode

▸ **getContentNode**(): [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)

Returns current projected content node

#### Returns

[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)

#### getCoordinateSystem

▸ **getCoordinateSystem**(): [`AbstractSystem`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.coordinatesystems.abstractsystem.abstractsystem)

Return coordinate system for this layer

#### Returns

[`AbstractSystem`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.coordinatesystems.abstractsystem.abstractsystem)

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getCoordinateSystem](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getcoordinatesystem)

#### getCssClass

▸ **getCssClass**(): `string`

Returns css class name to be used to apply CSS style

#### Returns

`string`

the css class name

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getcssclass)

#### getCssClasses

▸ **getCssClasses**(): `string`[]

Gets list of css class names which applied to this node

#### Returns

`string`[]

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getCssClasses](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getcssclasses)

#### getDataSource

▸ **getDataSource**(): [`AbstractSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.sources.abstractsource.abstractsource)

Returns current data source

#### Returns

[`AbstractSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.sources.abstractsource.abstractsource)

source

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getDataSource](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getdatasource)

#### getDefaultModelLimits

▸ **getDefaultModelLimits**(): [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

Gets calculated model limits

#### Returns

[`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

limits calculated model limits

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getDefaultModelLimits](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getdefaultmodellimits)

#### getId

▸ **getId**(): `string` | `number`

Returns the associated identifier of the node

#### Returns

`string` | `number`

The node's id

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getId](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getid)

#### getLayerAlpha

▸ **getLayerAlpha**(): `number`

Return a the alpha of the layer
between 0.0 (fully transparent) and 1.0 (fully opaque). The default value is 1.0.

#### Returns

`number`

alpha alpha

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getLayerAlpha](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getlayeralpha)

#### getMapCoordinateSystem

▸ **getMapCoordinateSystem**(): [`AbstractSystem`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.coordinatesystems.abstractsystem.abstractsystem)

Return a map coordinate system

#### Returns

[`AbstractSystem`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.coordinatesystems.abstractsystem.abstractsystem)

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getMapCoordinateSystem](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getmapcoordinatesystem)

#### getMaxZoom

▸ **getMaxZoom**(): `number`

Get maximum zoom level for layer to visualize layer data based on map zoom level

#### Returns

`number`

layer maximum zoom level.

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getMaxZoom](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getmaxzoom)

#### getMinZoom

▸ **getMinZoom**(): `number`

Get minimum zoom level for layer to visualize layer data based on map zoom level

#### Returns

`number`

layer minimum zoom level.

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getMinZoom](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getminzoom)

#### getModelLimits

▸ **getModelLimits**(): [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

Gets user defined model limits if set; calculated model limits otherwise

#### Returns

[`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

limits user defined or calculated model limits

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getModelLimits](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getmodellimits)

#### getName

▸ **getName**(): `string`

Returns the node name

#### Returns

`string`

The node name

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getname)

#### getOptions

▸ **getOptions**(): [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#abstractlayer#options)

Gets options

#### Returns

[`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#abstractlayer#options)

options options

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getOptions](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getoptions)

#### getParent

▸ **getParent**(): [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)

Return parent node

#### Returns

[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)

parent node

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getparent)

#### getProperties

▸ **getProperties**(): [`OptionsOut`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#abstractlayer#optionsout)

Gets all the properties pertaining to this object

#### Returns

[`OptionsOut`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#abstractlayer#optionsout)

options

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getproperties)

#### getProperty

▸ **getProperty**(`name`): `any`

Gets dynamic property by name. These properties can be
used as a property bags

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `name` | `string` | property name |


#### Returns

`any`

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getProperty](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getproperty)

#### getPropertyKeys

▸ **getPropertyKeys**(): `string`[]

Returns known properties keys

#### Returns

`string`[]

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getPropertyKeys](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getpropertykeys)

#### getResourceManager

▸ **getResourceManager**(): [`TileResourceManager`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.tileresourcemanager.tileresourcemanager)

Returns resource manager used to create projection intermediate results

#### Returns

[`TileResourceManager`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.tileresourcemanager.tileresourcemanager)

#### getRoot

▸ **getRoot**(): [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)

Returns root node. <br>
If node doesn't have parent then it returns itself.

#### Returns

[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)

the root node

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getRoot](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getroot)

#### getSceneTransform

▸ **getSceneTransform**(): [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation)

Returns transformation from node to root scene

#### Returns

[`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation)

a transformation from node to root scene

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getSceneTransform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getscenetransform)

#### getServerURL

▸ **getServerURL**(): `string` | `string`[]

Gets the server url from the layer source

#### Returns

`string` | `string`[]

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getServerURL](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getserverurl)

#### getTag

▸ **getTag**(): `any`

Returns the object associated with the node by user.

#### Returns

`any`

The node's user-object

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getTag](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#gettag)

#### getTooltipFormatter

▸ **getTooltipFormatter**(): [`Formatter`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#abstractlayer#formatter)

Returns the format function to use for the tooltip info (null if tooltips are not visible)

#### Returns

[`Formatter`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#abstractlayer#formatter)

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getTooltipFormatter](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#gettooltipformatter)

#### getVisible

▸ **getVisible**(): `boolean`

Return visibility of the node

#### Returns

`boolean`

true if node is visible

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getVisible](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getvisible)

#### getVisibleByZoom

▸ `Protected` **getVisibleByZoom**(): `boolean`

Validate layer zoom base visibility based on minimum and maximum zoom level configuration.
Update layer visibility status to true or false based on zoom level configuration.
Notify ZoomVisibilityChanged event.

#### Returns

`boolean`

true if layer is visible.

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getVisibleByZoom](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getvisiblebyzoom)

#### getVisibleModelLimits

▸ **getVisibleModelLimits**(`ignoreModelLimits?`): [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

Return visible model limits

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `ignoreModelLimits` | `boolean` | flag defines whether to ignore ModelLimits or not |


#### Returns

[`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getVisibleModelLimits](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getvisiblemodellimits)

#### getWorldTransform

▸ **getWorldTransform**(): [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation)

<code>getWorldTransform</code> retrieves the local transformation
of the inner node coordinates to parent coordinates.

#### Returns

[`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation)

the world transform.

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getWorldTransform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getworldtransform)

#### getZIndex

▸ **getZIndex**(): `number`

Returns node z-index (null if not set)

#### Returns

`number`

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getZIndex](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getzindex)

#### getZoomLayerVisibility

▸ **getZoomLayerVisibility**(): `boolean`

Get layer zoom layer visibility status

#### Returns

`boolean`

true if layer is visible.

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getZoomLayerVisibility](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getzoomlayervisibility)

#### getZoomLevel

▸ **getZoomLevel**(): `number`

Calculates current zoom level (float) for the default tile size

#### Returns

`number`

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getZoomLevel](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getzoomlevel)

#### hasCssClass

▸ **hasCssClass**(`cssClass`): `boolean`

Check if node has specified css class

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `cssClass` | `string` | css class name |


#### Returns

`boolean`

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[hasCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#hascssclass)

#### hasEventListener

▸ **hasEventListener**(`type`, `callback?`): `boolean`

Check if a list of event listeners for this type contains this listener

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `type` | `string` | type of event or property |
| `Optional` `callback` | `Function` | to be called, if null, check if any callback is registered |


#### Returns

`boolean`

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[hasEventListener](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#haseventlistener)

#### hitTest

▸ **hitTest**(`pt`, `radius?`): ([`AbstractNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode) | [`AbstractFeature`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.features.abstractfeature.abstractfeature))[]

Performs selection of the data with its device coordinates. Returns null, if no data available but will be loaded
asynchronously later (fires [Events.InfoUpdated](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#sources#events#events#infoupdated)).

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `pt` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point) | is the device coordinates to select |
| `Optional` `radius` | `number` | the radius of selection (in px) |


#### Returns

([`AbstractNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.abstractnode.abstractnode) | [`AbstractFeature`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.features.abstractfeature.abstractfeature))[]

data data selected

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[hitTest](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#hittest)

#### invalidate

▸ **invalidate**(`bounds?`, `force?`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Invalidate layer

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `bounds` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect) | bounds of the invalid rectangle in the inner node coordinates |
| `Optional` `force` | `boolean` | true if parent should be invalidated immediately if null is provided then cache (if any will be completely refreshed) otherwise only specified rect or node.bounds will be refreshed |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[invalidate](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#invalidate)

#### invalidateParent

▸ `Protected` **invalidateParent**(`bounds?`, `force?`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Invalidate parent and notify all listeners.
NOTE: Don't keep arguments of the event, because instance can be changed

**`Fires`**

[Events.Invalidate](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene.node#events#invalidate)

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `bounds` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect) | bounds of the invalid rectangle in the inner node coordinates |
| `Optional` `force` | `boolean` | force rendering |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[invalidateParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#invalidateparent)

#### isDisposed

▸ **isDisposed**(): `boolean`

Returns whether this object has been disposed

#### Returns

`boolean`

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[isDisposed](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#isdisposed)

#### isEventPropagationEnabled

▸ **isEventPropagationEnabled**(): `boolean`

Return true if event propagation is enabled from child to parent

#### Returns

`boolean`

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[isEventPropagationEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#iseventpropagationenabled)

#### isLoading

▸ **isLoading**(): `boolean`

Checks if layer data is still loading and not ready

#### Returns

`boolean`

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[isLoading](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#isloading)

#### isNotificationEnabled

▸ **isNotificationEnabled**(): `boolean`

return state of notification

#### Returns

`boolean`

current notification state

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[isNotificationEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#isnotificationenabled)

#### isSelectable

▸ **isSelectable**(): `boolean`

Returns true if node can be picked/selected.

#### Returns

`boolean`

The selectable flag

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[isSelectable](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#isselectable)

#### isSilent

▸ **isSilent**(): `boolean`

Return true if the event dispatcher doesn't notify any events

#### Returns

`boolean`

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[isSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#issilent)

#### load

▸ **load**(): `Promise`<[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)&gt;

Returns promise that is resolved when all layer data is loaded and ready to be rendered

#### Returns

`Promise`<[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)&gt;

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[load](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#load)

#### notify

▸ **notify**<`E`&gt;(`type`, `source`, `args?`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Notify listeners of the Node

#### Type parameters

| Name | Type |
|  --- | --- |
| `E` | extends `string` |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `type` | `E` | type of event |
| `source` | [`AbstractLayer`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer) | source who called the event |
| `Optional` `args` | [`EventMap`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#abstractlayer#eventmap)[`E`] | event arguments |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[notify](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#notify)

#### off

▸ **off**<`E`&gt;(`type?`, `callback?`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Detach listener on event.
Calling .off() with no arguments removes all attached listeners.
Calling .off(type) with no callback removes all attached listeners for specific type.

#### Type parameters

| Name | Type |
|  --- | --- |
| `E` | extends `string` |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `type` | `E` | type of the event |
| `Optional` `callback` | (`eventType`: `E`, `sender`: [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection), `args`: [`EventMap`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#abstractlayer#eventmap)[`E`]) => `void` | function to be called |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[off](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#off)

#### on

▸ **on**<`E`&gt;(`type`, `callback`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Attach listener on event that will be called whenever the specified event is delivered to the target
<p>
If the callback function is already in the list of event listeners for this target,
the function is not added a second time.
</p>
<p>
If a particular anonymous function is in the list of event listeners registered for a
certain target, and then later in the code, an identical anonymous function is given
in an "on" call, the second function will also be added to the list of
event listeners for that target.
</p>

#### Type parameters

| Name | Type |
|  --- | --- |
| `E` | extends `string` |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `type` | `E` | type of event or property |
| `callback` | (`eventType`: `E`, `sender`: [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection), `args`: [`EventMap`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#abstractlayer#eventmap)[`E`]) => `void` | to be called |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[on](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#on)

#### onParentChanged

▸ `Protected` **onParentChanged**(`node`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

This method is called when parent changes. Do not call it directly.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `node` | [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node) | node to change parent |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[onParentChanged](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#onparentchanged)

#### onVisibilityChanged

▸ `Protected` **onVisibilityChanged**(): `void`

This method is called if visibility is changed.  Send event [Events.VisibilityChanged](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene.node#events#visibilitychanged)

#### Returns

`void`

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[onVisibilityChanged](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#onvisibilitychanged)

#### removeCssClass

▸ **removeCssClass**(`cssclass`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Removes css class from node

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `cssclass` | `string` | `string`[] | css class name('s) |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[removeCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#removecssclass)

#### removeInvalidateHandler

▸ **removeInvalidateHandler**(`handler`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Remove invalidate handler

**`Deprecated`**

since 4.0, use Node.off instead

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `handler` | `Function` | handler to be notified about invalidation |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[removeInvalidateHandler](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#removeinvalidatehandler)

#### render

▸ **render**(`context`): `void`

Renders node

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `context` | [`RenderingContext`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.renderingcontext.renderingcontext) | The rendering context to be used to draw the node |


#### Returns

`void`

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[render](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#render)

#### renderAsync

▸ **renderAsync**(`context`, `callback`): `void`

Render node in asynchronous mode. Default implementation creates call method "render" inside

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `context` | [`RenderingContext`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.renderingcontext.renderingcontext) | The rendering context to be used to draw the node |
| `callback` | () => `void` | callback function |


#### Returns

`void`

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[renderAsync](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#renderasync)

#### renderContent

▸ **renderContent**(`context`): `void`

Renders layer content

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `context` | [`RenderingContext`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.renderingcontext.renderingcontext) | rendering context |


#### Returns

`void`

#### Overrides

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[renderContent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#rendercontent)

#### renderContentAsync

▸ **renderContentAsync**(`context`, `callback`): `void`

Renders async layer content

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `context` | [`RenderingContext`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.renderingcontext.renderingcontext) | the Rendering Context |
| `callback` | () => `void` | callback to be called after rendering of layer content |


#### Returns

`void`

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[renderContentAsync](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#rendercontentasync)

#### setCache

▸ **setCache**(`cache`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Sets cache to be used to cache

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `cache` | [`Cache`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.cache.cache) | cache to be used |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setCache](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#setcache)

#### setContentNode

▸ **setContentNode**(`node`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Sets content node to be projected

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `node` | [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node) & { `getBounds`: () => [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)  } | node to be projected |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### setCssClass

▸ **setCssClass**(`name`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Sets css class name of the node to be used to apply CSS style

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `name` | `string` | css class name of the node |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setCssClass](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#setcssclass)

#### setId

▸ **setId**(`id`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Allows the user to associate any identifier

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `id` | `string` | `number` | object id |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setId](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#setid)

#### setLayerAlpha

▸ **setLayerAlpha**(`alpha`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Set the alpha of the layer

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `alpha` | `number` | between 0.0 (fully transparent) and 1.0 (fully opaque). The default value is 1.0. |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setLayerAlpha](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#setlayeralpha)

#### setMapCoordinateSystem

▸ **setMapCoordinateSystem**(`system?`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Sets a map coordinate system

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `system` | `number` | [`AbstractSystem`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.coordinatesystems.abstractsystem.abstractsystem) | [`GeodeticSystem`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#geodeticsystem) | new map coordinate system |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setMapCoordinateSystem](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#setmapcoordinatesystem)

#### setMaxZoom

▸ **setMaxZoom**(`zoom`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Set maximum zoom level for layer to visualize layer data based on map zoom level

#### Parameters

| Name  | Type  |
|  --- | --- |
| `zoom` | `number` |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setMaxZoom](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#setmaxzoom)

#### setMinZoom

▸ **setMinZoom**(`zoom`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Set minimum zoom level for layer to visualize layer data based on map zoom level

#### Parameters

| Name  | Type  |
|  --- | --- |
| `zoom` | `number` |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setMinZoom](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#setminzoom)

#### setModelLimits

▸ **setModelLimits**(`limits`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Sets model limits

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `limits` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect) | new model limits |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setModelLimits](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#setmodellimits)

#### setName

▸ **setName**(`name`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Sets name of the node

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `name` | `string` | The node name |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#setname)

#### setNotification

▸ **setNotification**(`notify`, `force?`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

set notification state

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `notify` | `boolean` | flag set to invalidate parent or not |
| `Optional` `force` | `boolean` | true if parent should be invalidated immediately |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setNotification](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#setnotification)

#### setOptions

▸ **setOptions**(`options?`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Sets options (default options listed are for construction time only)

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `options` | [`OptionsBase`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#abstractlayer#optionsbase) | options |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setOptions](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#setoptions)

#### setParent

▸ **setParent**(`parent`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Sets parent node. Don't call this method directly.
It is internal method.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `parent` | [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node) | a parent node |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#setparent)

#### setProperties

▸ **setProperties**(`properties?`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Sets all the properties pertaining to this object

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `properties` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#abstractlayer#options) | options |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#setproperties)

#### setProperty

▸ **setProperty**(`name`, `value`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Sets dynamic property by name

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `name` | `string` | property name |
| `value` | `any` | property value |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setProperty](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#setproperty)

#### setSelectable

▸ **setSelectable**(`selectable`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Allows to select node. If node is not selectable then child node is
not selectable.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `selectable` | `boolean` | flag to allow node selection |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setSelectable](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#setselectable)

#### setServerURL

▸ **setServerURL**(`url`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Sets the url to the layer source

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `url` | `string` | `string`[] | server url |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setServerURL](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#setserverurl)

#### setSilent

▸ **setSilent**(`bool`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Set silent mode

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `bool` | `boolean` | flag to enable silent mode |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#setsilent)

#### setTag

▸ **setTag**(`tag`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Allows the user to associate any arbitrary object with the node.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `tag` | `any` | The object to be associated with the node. |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setTag](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#settag)

#### setVisible

▸ **setVisible**(`value`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Sets visibility of the node.
Send event [Events.VisibilityChanged](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene.node#events#visibilitychanged)

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `value` | `boolean` | flag specifying visibility of the node |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setVisible](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#setvisible)

#### setZIndex

▸ **setZIndex**(`value`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Sets z-index for node (set null for default)

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `value` | `number` | index determining node z-position |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[setZIndex](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#setzindex)

#### toString

▸ **toString**(): `string`

Returns a string representation of this object (generally the classname)

#### Returns

`string`

A string representation

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[toString](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#tostring)

#### transformFromMap

▸ **transformFromMap**(`point`, `dst?`, `clamp?`): [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

Transform a point from map coordinate system to layer coordinate system

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `point` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point) | point to transform |
| `Optional` `dst` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point) | optional destination point |
| `Optional` `clamp` | `boolean` | if set to true, coordinate values will be clamped |


#### Returns

[`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[transformFromMap](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#transformfrommap)

#### transformPoint

▸ **transformPoint**(`point`, `from`, `to`, `dst?`, `clamp?`): [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

Transform point

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `point` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point) | point to transform |
| `from` | [`AbstractSystem`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.coordinatesystems.abstractsystem.abstractsystem) | [`GeodeticSystem`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#geodeticsystem) | system converting from |
| `to` | [`AbstractSystem`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.coordinatesystems.abstractsystem.abstractsystem) | [`GeodeticSystem`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.map#geodeticsystem) | system converting to |
| `Optional` `dst` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point) | optional destination point |
| `Optional` `clamp` | `boolean` | if set to true, coordinate values will be clamped |


#### Returns

[`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[transformPoint](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#transformpoint)

#### transformToMap

▸ **transformToMap**(`point`, `dst?`, `clamp?`): [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

Transform a point from layer coordinate system to map coordinate system

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `point` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point) | point to transform |
| `Optional` `dst` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point) | optional destination point |
| `Optional` `clamp` | `boolean` | if set to true, coordinate values will be clamped |


#### Returns

[`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[transformToMap](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#transformtomap)

#### updateSceneTransformation

▸ **updateSceneTransformation**(): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Update scene transformation

#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[updateSceneTransformation](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#updatescenetransformation)

#### updateState

▸ **updateState**(`regions?`, `changes?`): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Update state. These methods reset node state and update state for children. this method is useful to
refresh a scene graph

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `regions` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)[] | optional array to return invalid rectangles in the parent coordinates |
| `Optional` `changes` | [`StateChanges`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene.node#statechanges) | optional parameter to specify a reason of changes |


#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[updateState](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#updatestate)

#### updateTimeStamp

▸ `Protected` **updateTimeStamp**(): [`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

Update time stamp to indicate that Node or Children has been changed.

#### Returns

[`Projection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.projection.projection)

this

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[updateTimeStamp](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#updatetimestamp)

#### enableSceneGraphNotification

▸ `Static` **enableSceneGraphNotification**(`enabled`): `void`

Enable / disable all notifications

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `enabled` | `boolean` | sets if this object sends notifications |


#### Returns

`void`

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[enableSceneGraphNotification](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#enablescenegraphnotification)

#### findParent

▸ `Static` **findParent**<`T`&gt;(`node`, `classType`, `filter?`): `InstanceType`<`T`&gt;

Find root of the node with specified type

#### Type parameters

| Name | Type |
|  --- | --- |
| `T` | extends [`Constructor`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.base#constructor)<`any`&gt; |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `node` | [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node) | node to start search |
| `classType` | `T` | type of the class to search for |
| `Optional` `filter` | (`node`: [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)) => `boolean` | additional filter to apply |


#### Returns

`InstanceType`<`T`&gt;

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[findParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#findparent)

▸ `Static` **findParent**(`node`, `classType`, `filter?`): [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)

Find root of the node with specified type

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `node` | [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node) | node to start search |
| `classType` | `string` | interface name to search for |
| `Optional` `filter` | (`node`: [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)) => `boolean` | additional filter to apply |


#### Returns

[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[findParent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#findparent)

#### getClassName

▸ `Static` **getClassName**(): `string`

#### Returns

`string`

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#getclassname-1)

#### isSceneGraphNotificationEnabled

▸ `Static` **isSceneGraphNotificationEnabled**(): `boolean`

Return status of the global notification for all nodes.

#### Returns

`boolean`

#### Inherited from

[AbstractLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer).[isSceneGraphNotificationEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.map.layers.abstractlayer.abstractlayer#isscenegraphnotificationenabled)