A layer tree. that acts as the root of all layers in a Map.

The 'layerTree' property of Map is an instance of this type. It is not possible to create your own LayerTree.

Hierarchy (view full)

Constructors

Accessors

  • get children(): LayerTreeNode[]
  • The list of direct children of the node. The children are ordered according to the painting order (the bottom layer is the first element in the array). Note that also the nodes that are not visible will be included.

    Returns LayerTreeNode[]

  • set children(dummy): void
  • Parameters

    Returns void

  • get id(): string
  • The node's ID (immutable). This ID was configured at construction time and is unique over the whole layer tree. If no ID was given, a UUID will have been generated automatically.

    Returns string

  • get label(): string
  • The node's label. This label was configured at construction time. If no label was given, the label will correspond to the layer's ID.

    Returns string

  • set label(value): void
  • Parameters

    • value: string

    Returns void

  • get map(): null | Map
  • The map this note is attached to, or null. This property will be null if this node is not attached to a map.

    Returns null | Map

  • get parent(): null | LayerGroup
  • The parent of this node or null. This property will be null if this node has not been added as the child of another node yet.

    Returns null | LayerGroup

  • get supportedPaintRepresentations(): PaintRepresentation[]
  • Denotes what PaintRepresentations are available for this layer. This usually depends on the type of layer or the painter configuration on the layer

    Returns PaintRepresentation[]

  • get treeNodeType(): LayerTreeNodeType
  • The LayerTreeNodeType of this layer. The value is LAYER_GROUP.

    Returns LayerTreeNodeType

  • set treeNodeType(dummy): void
  • Parameters

    Returns void

  • get visible(): boolean
  • Denotes whether the node is visible. This can be considered to be the master visibility switch: Setting this to false makes the layer entirely invisible. If it is true, the visible paint representations will be visible.

    This property does not reflect whether this node's parent is visible as well, If this is desired, use visibleInTree instead.

    Returns boolean

  • set visible(visible): void
  • Parameters

    • visible: boolean

    Returns void

  • get visibleInTree(): boolean
  • Denotes whether this layer is visible on the map. This method will only return true if this layer and every parent layer up to the root of the layer tree is visible.

    If visibleInTree is set to true, this will ensure that every parent LayerTreeNode up to the of the tree is configured to be visible as well.

    Returns boolean

  • set visibleInTree(value): void
  • Parameters

    • value: boolean

    Returns void

Methods

  • Add a node to the LayerGroup

    Parameters

    • layerTreeNode: LayerTreeNode

      The LayerTreeNode to be added

    • Optional position: "top" | "bottom" | "above" | "below"

      The position where the layer will be added. Possible options are: "top", "bottom" "above", "below". With the last two options, the positionReference parameter is mandatory. If no position parameter is present, "top" is assumed.

    • Optional positionReference: LayerTreeNode

      The reference layer in case "above" or "below" is passed to addLayer.

    • Optional noEvent: boolean

      Do not fire an event when a layer is added.

    Returns void

  • Verifies whether the node can be added at the specified position. This check does not modify the LayerGroup. This check takes into account the ID uniqueness and the ordering rules for layers that are applicable to the entire LayerTree. Layers of type LayerType.BASE must always be positioned at the bottom of the LayerTree.

    Parameters

    • layerTreeNode: LayerTreeNode

      The LayerTreeNode to be added

    • Optional position: "top" | "bottom" | "above" | "below"

      The position where the layer could be added. Possible options are: "top", "bottom" "above", "below". With the last two options, the positionReference parameter is mandatory. If no position parameter is present, "top" is assumed.

    • Optional positionReference: LayerTreeNode

      The reference layer in case "above" or "below" is passed to addLayer.

    Returns boolean

    whether the node can be added.

  • Verifies whether the node can be moved to the specified position. This check does not modify the LayerGroup. This check takes into account the ordering rules for layers that are applicable to the entire LayerTree. Layers of type LayerType.BASE must always be positioned at the bottom of the LayerTree.

    Parameters

    • layerTreeNode: LayerTreeNode

      The LayerTreeNode to be added

    • Optional position: "top" | "bottom" | "above" | "below"

      The position where the layer could be moved. Possible options are: "top", "bottom" "above", "below". With the last two options, the positionReference parameter is mandatory. If no position parameter is present, "top" is assumed.

    • Optional positionReference: LayerTreeNode

      The reference layer in case "above" or "below" is passed to addLayer.

    Returns boolean

    whether the node can be moved

  • Returns the layer with the given ID if that layer is this node or one of its children. Note that the layer's ID does not correspond with the layer's label.

    Parameters

    • id: string

      The id of the layer that you want to retrieve.

    Returns Layer

    the requested layer or undefined if it is not present in the tree

  • Returns the layer group with the given ID if that layer is this node or one of its children.

    Parameters

    • id: string

      The id of the layer group that you want to retrieve.

    Returns LayerGroup

    the requested layer group or undefined if it is not present in the tree

    Since

    2014.0

  • Returns the layer tree node with the given ID if that layer is this node or one of its children. This may be a layer-group or a layer.

    Parameters

    • id: string

      The id of the layerTreeNode that you want to retrieve.

    Returns LayerTreeNode

    the requested layerTreeNode or undefined if it is not present in the tree

    Since

    2014.0

  • Indicates whether the specified paint representation is supported for this layer. It returns always true since a LayerGroup is a collection of LayerTreeNodes. In other words, a group can support all the possible paint representations of its children.

    Parameters

    Returns boolean

    true in any case

  • Indicates whether the specified paint representation is visible on the map. This method will only return true if this paint representation is visible for this layer and every parent layer up to the layer tree.

    Parameters

    Returns boolean

    true when paintRepresentation is supported and visible, false otherwise

  • Move a node that belongs to the same map to another location in its layer tree.

    Parameters

    • layerTreeNode: LayerTreeNode

      The layer to be moved

    • Optional position: "top" | "bottom" | "above" | "below"

      The position where the layer must be moved to. Possible options are: "top", "bottom", "above", "below". With the last two options, the positionReference parameter is mandatory. If no position parameter is present, "top" is assumed.

    • Optional positionReference: LayerTreeNode

      The reference layer tree node in case "above" or "below" is passed to moveChild. If the reference node is not a child of this layer group, the given layerTreeNode will be moved to the parent group of the reference node.

    • Optional noEvent: boolean

      Do not fire an event when a layer is moved.

    Returns void

  • Removes a child from this node.

    Parameters

    • layerTreeNode: LayerTreeNode

      The node to be removed.

    • Optional noEvent: boolean

      do not fire an event when the layer is removed.

    Returns void

  • Sets the visibility of a specific paint representation in a layer tree. If it set to true, this will ensure that the paint representation of every parent LayerTreeNode up to the roof of the tree is configured to be visible as well.

    Parameters

    Returns void

  • Accepts the given visitor on the children of this.

    Parameters

    • visitor: LayerTreeVisitor

      The visitor which will receive the callbacks for the children.

    • order: VisitOrder

      The order in which the children need to be traversed.

    Returns void

  • Wait until this layer or layer group is finished with all possible work related to any change that happened before this call.
    At that moment, the screen is up-to-date with all changes.

    Examples:

      map.mapNavigator.fit({ bounds: somewhere });
    map.layerTree.whenReady().then(makeScreenshot);

    or

        layer.painter.invalidateAll();
    layer.whenReady().then(alert);

    or

        layer.model.add(newFeature);
    layer.whenReady().then(alert);

    This call can be used to have a reliable, programmatic way to wait for all work leading up to the call to be reflected on the screen.
    The returned promise will always resolve once, when the layer is ready. The promise is rejected when the layer does not become ready in 5 minutes.

    Examples (not exhaustive) of aspects this promise will wait for:

    • While loading image data when it displayed for the first time, or after navigating the view
    • While loading image data after changing raster model properties such as WMS style
    • While loading feature data when it displayed for the first time, enters its scale range, or after navigating the view
    • While loading feature data after invalidating the layer query provider
    • While processing features after invalidating the layer feature painter or shape provider, or changing the layer filter
    • While processing features after they were added, updated or removed to/in/from a model or workingSet

    NOTE: The promise gets resolved also when an error (QueryStatus.QUERY_ERROR) occurs while handling underlying query or when the node is invisible.

    A LayerTree will wait until all its children are ready.

    Returns Promise<LayerTreeNode>

    A promise that resolves to the LayerTreeNode when all current work is done

Events

"" event

  • on("", callback: ((...args) => void), context?: any) : Handle
  • Registers a callback function for a given event type.

    Parameters

    • event: string

      the event type to register on

    • callback: ((...args) => void)

      the callback function to register

        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    • Optional context: any

      the context in which the callback function should be invoked implementation dependent.

    Returns Handle

    a handle to the registered callback with a single function 'remove'. This function can be used to unregister the callback function.

"NodeAdded" event

  • on("NodeAdded", callback: ((layerTreeNodeChange) => void), context?: any) : Handle
  • Event that indicates that a node was added to the tree.

    Parameters

    • event: "NodeAdded"

      the 'NodeAdded' event

    • callback: ((layerTreeNodeChange) => void)

      the callback to be invoked when a node is added to the tree.

    • Optional context: any

      value to use as this when executing callback

    Returns Handle

"NodeRemoved" event

  • on("NodeRemoved", callback: ((layerTreeNodeChange) => void), context?: any) : Handle
  • Event that indicates that a node was added to the tree.

    Parameters

    • event: "NodeRemoved"

      the 'NodeRemoved' event

    • callback: ((layerTreeNodeChange) => void)

      the callback to be invoked when a node is removed from the tree.

    • Optional context: any

      value to use as this when executing callback

    Returns Handle

"NodeMoved" event

  • on("NodeMoved", callback: ((layerTreeNodeChange) => void), context?: any) : Handle
  • Event that indicates that a node was moved in the tree.

    Parameters

    • event: "NodeMoved"

      the 'NodeMoved' event

    • callback: ((layerTreeNodeChange) => void)

      the callback to be invoked when a node is moved in the tree.

    • Optional context: any

      value to use as this when executing callback

    Returns Handle