Open Pioneer Trails Packages
    Preparing search index...

    Interface GroupLayer

    Represents a group of layers.

    A group layer contains a collection of Layer children. Groups can be nested to form a hierarchy.

    interface GroupLayer {
        attributes: Readonly<Record<string | symbol, unknown>>;
        children: undefined | ChildrenCollection<AnyLayer>;
        description: string;
        id: string;
        internal: boolean;
        isBaseLayer: boolean;
        layers: GroupLayerCollection;
        legend: undefined | string;
        loadState: LayerLoadState;
        map: MapModel;
        olLayer: LayerGroup;
        parent: undefined | AnyLayer;
        sublayers: undefined;
        title: string;
        type: "group";
        visible: boolean;
        deleteAttribute(deleteAttribute: string | symbol): void;
        setDescription(newDescription: string): void;
        setInternal(newIsInternal: boolean): void;
        setTitle(newTitle: string): void;
        setVisible(newVisibility: boolean): void;
        updateAttributes(newAttributes: Record<string | symbol, unknown>): void;
    }

    Hierarchy (View Summary)

    Index

    Properties

    attributes: Readonly<Record<string | symbol, unknown>>

    Additional attributes associated with this layer.

    children: undefined | ChildrenCollection<AnyLayer>

    The direct children of this layer.

    The children may either be a set of operational layers (e.g. for a group layer) or a set of sublayers, or undefined.

    See also layers and sublayers.

    description: string

    The human-readable description of this layer. May be empty.

    id: string

    The unique id of this layer within its map model.

    NOTE: layer ids may not be globally unique: layers that belong to different map models may have the same id.

    internal: boolean

    Property that specifies if the layer is an "internal" layer. Internal layers are not considered by any UI widget (e.g. Toc or Legend). The internal state is independent of the layer's visibility which is determined by visible

    NOTE: Some UI widgets might use component specific attributes or props that have precedence over the internal property.

    isBaseLayer: boolean

    True if this layer is a base layer.

    Only one base layer can be visible at a time.

    Layers contained in this group.

    legend: undefined | string

    Legend URL from the service capabilities, if available.

    Note: this property may be expanded upon in the future, e.g. to support more variants than just image URLs.

    loadState: LayerLoadState

    The load state of a layer.

    The map this layer belongs to.

    olLayer: LayerGroup

    Raw OpenLayers group instance.

    Warning: Do not manipulate the collection of layers in this group directly, changes are not synchronized!

    parent: undefined | AnyLayer

    The direct parent of this layer instance, used for sublayers or for layers in a group layer.

    The property shall be undefined if the layer is not a sublayer or member of a group layer.

    sublayers: undefined

    The collection of child sublayers for this layer. Sublayers are layers that cannot exist without an appropriate parent layer.

    Layers that can never have any sublayers may not have a sublayers collection.

    The properties layers and sublayers are mutually exclusive.

    title: string

    The human-readable title of this layer.

    type: "group"

    Identifies the type of this layer.

    visible: boolean

    Whether the layer is visible or not.

    NOTE: The model's visible state may do more than influence the raw OpenLayers's visibility property. Future versions may completely remove invisible layers from the OpenLayer's map under some circumstances.

    Methods

    • Updates the attributes of this layer. Values in newAttributes are merged into the existing ones (i.e. via Object.assign).

      Parameters

      • newAttributes: Record<string | symbol, unknown>

      Returns void