/** * Service to create layer based on a ngeo.layertree.Controller with a * GMFThemesGroup or a GMFThemesLeaf as node object. * This layer is also used to synchronize a state of ngeo.layertree.Controller * and its corresponding layer in the map. * * @class * @param {angular.IScope} $rootScope Angular rootScope. * @param {import('ngeo/map/LayerHelper').LayerHelper} ngeoLayerHelper Ngeo Layer Helper. * @param {import('ngeo/misc/WMSTime').WMSTime} ngeoWMSTime wms time service. * @param {import('gmf/theme/Themes').ThemesService} gmfThemes The gmf Themes service. * @param {import('gmf/options').gmfWMSSourceOptions} gmfWMSSourceOptions the WMS source options. * @ngdoc service * @ngname gmfSyncLayertreeMap * @hidden */ export function SyncLayertreeMap($rootScope: angular.IScope, ngeoLayerHelper: import("ngeo/map/LayerHelper").LayerHelper, ngeoWMSTime: import("ngeo/misc/WMSTime").WMSTime, gmfThemes: import("gmf/theme/Themes").ThemesService, gmfWMSSourceOptions: import("gmf/options").gmfWMSSourceOptions): void; export class SyncLayertreeMap { /** * Service to create layer based on a ngeo.layertree.Controller with a * GMFThemesGroup or a GMFThemesLeaf as node object. * This layer is also used to synchronize a state of ngeo.layertree.Controller * and its corresponding layer in the map. * * @class * @param {angular.IScope} $rootScope Angular rootScope. * @param {import('ngeo/map/LayerHelper').LayerHelper} ngeoLayerHelper Ngeo Layer Helper. * @param {import('ngeo/misc/WMSTime').WMSTime} ngeoWMSTime wms time service. * @param {import('gmf/theme/Themes').ThemesService} gmfThemes The gmf Themes service. * @param {import('gmf/options').gmfWMSSourceOptions} gmfWMSSourceOptions the WMS source options. * @ngdoc service * @ngname gmfSyncLayertreeMap * @hidden */ constructor($rootScope: angular.IScope, ngeoLayerHelper: import("ngeo/map/LayerHelper").LayerHelper, ngeoWMSTime: import("ngeo/misc/WMSTime").WMSTime, gmfThemes: import("gmf/theme/Themes").ThemesService, gmfWMSSourceOptions: import("gmf/options").gmfWMSSourceOptions); /** * @type {import('ngeo/map/LayerHelper').LayerHelper} */ layerHelper_: import("ngeo/map/LayerHelper").LayerHelper; /** * @type {import('ngeo/misc/WMSTime').WMSTime} */ ngeoWMSTime_: import("ngeo/misc/WMSTime").WMSTime; /** * @type {import('gmf/options').gmfWMSSourceOptions} * @private */ private gmfWMSSourceOptions_; /** * @type {?import('gmf/themes').GmfOgcServers} */ ogcServersObject_: import("gmf/themes").GmfOgcServers | null; /** * Create, insert (or update) and return a layer from the GmfGroup or the * GmfLayer of the given treeCtrl. * * @param {import('ngeo/layertree/Controller').LayertreeController} treeCtrl ngeo layertree controller. * @param {import('ol/Map').default} map A map that contains the group to insert the not first * level group layer. * @param {import('ol/layer/Group').default} dataLayerGroup the layer group to insert the first * level group layer. * @param {number} [opt_position] for first level Group, you can precise the * position to add the group in the array of layers of the dataLayerGroup. * @returns {?import('ol/layer/Base').default|import('ol/layer/Group').default} a new layer. * @public */ public createLayer(treeCtrl: import("ngeo/layertree/Controller").LayertreeController, map: import("ol/Map").default, dataLayerGroup: import("ol/layer/Group").default, opt_position?: number): (import("ol/layer/Base").default | import("ol/layer/Group").default) | null; /** * Synchronize the state of each layers corresponding to the given tree and * all its children. * * @param {import('ngeo/layertree/Controller').LayertreeController} treeCtrl ngeo layertree controller. */ sync_(treeCtrl: import("ngeo/layertree/Controller").LayertreeController): void; /** * Set the active state of a layer based on its treeCtrl state. * * @param {import('ol/layer/WebGLTile').default|import('ol/layer/Image').default} layer A layer. * @param {import('ngeo/layertree/Controller').LayertreeController} treeCtrl ngeo layertree controller. */ updateLayerState_(layer: import("ol/layer/WebGLTile").default | import("ol/layer/Image").default, treeCtrl: import("ngeo/layertree/Controller").LayertreeController): void; /** * Create insert and return a layer group (for not mixed case) or a wmsLayer (for * mixed case). Take care about the insertion order in the map in case of first * level group. * * @param {import('ngeo/layertree/Controller').LayertreeController} treeCtrl ngeo layertree controller. * @param {import('ol/Map').default} map A map that contains the group to insert the not first * level group layer. * @param {import('ol/layer/Group').default} dataLayerGroup the layer group to insert the first * level group layer. * @param {number} [opt_position] for first level Group, you can precise the * position to add the group in the array of layers of the dataLayerGroup. * @returns {import('ol/layer/Image').default|import('ol/layer/Group').default} a new layer. */ createGroup_(treeCtrl: import("ngeo/layertree/Controller").LayertreeController, map: import("ol/Map").default, dataLayerGroup: import("ol/layer/Group").default, opt_position?: number): import("ol/layer/Image").default | import("ol/layer/Group").default; /** * Create, insert and return a layer group (for not mixed case) or a wmsLayer * for mixed case). * * @param {import('ngeo/layertree/Controller').LayertreeController} treeCtrl ngeo layertree controller. * @param {boolean} mixed True for a group layer, false for a WMS layer. * @returns {import('ol/layer/Image').default|import('ol/layer/Group').default} a new layer. */ createLayerFromGroup_(treeCtrl: import("ngeo/layertree/Controller").LayertreeController, mixed: boolean): import("ol/layer/Image").default | import("ol/layer/Group").default; /** * Create and insert a layer from a leaf in a mixed group. * * @param {import('ngeo/layertree/Controller').LayertreeController} treeCtrl ngeo layertree controller. * @param {import('ol/Map').default} map A map that contains the group to insert the layer. * @returns {import('ol/layer/WebGLTile').default|import('ol/layer/Image').default} a new layer. */ createLeafInAMixedGroup_(treeCtrl: import("ngeo/layertree/Controller").LayertreeController, map: import("ol/Map").default): import("ol/layer/WebGLTile").default | import("ol/layer/Image").default; /** * Update a WMS layer with the given treeCtrl node information. Assumes that * the first parent with ogcServer information is linked to the layer to update * and that this treeCtrl node is a leafNode. * * @param {import('ngeo/layertree/Controller').LayertreeController} treeCtrl ngeo layertree controller. * @param {import('ol/Map').default} map A map that contains the layer to update. */ initGmfLayerInANotMixedGroup_(treeCtrl: import("ngeo/layertree/Controller").LayertreeController, map: import("ol/Map").default): void; /** * Create and return a Tile layer. * * @param {import('gmf/themes').GmfLayerWMTS} gmfLayerWMTS A leaf node. * @returns {import('ol/layer/WebGLTile').default} a Tile WMTS layer. (Source and capabilities can come * later). */ createWMTSLayer_(gmfLayerWMTS: import("gmf/themes").GmfLayerWMTS): import("ol/layer/WebGLTile").default; /** * Update properties of a layer with the node of a given leafNode. * * @param {import('gmf/themes').GmfBaseNode} node a tree node. * @param {import('ol/layer/Base').default} layer A layer. */ updateLayerReferences_(node: import("gmf/themes").GmfBaseNode, layer: import("ol/layer/Base").default): void; /** * Get the time parameter for a WMS Layer. If it's a group and it doesn't have * time, get the first time parameter available in any child. * * @param {import('ngeo/layertree/Controller').LayertreeController} treeCtrl ngeo layertree controller. * @returns {string|undefined} A wms time param. */ getTimeParam_(treeCtrl: import("ngeo/layertree/Controller").LayertreeController): string | undefined; /** * Return true if a parent tree is mixed, based on its node. * * @param {import('ngeo/layertree/Controller').LayertreeController} treeCtrl ngeo layertree controller. * @returns {boolean} True is any parent is mixed. False Otherwise. */ isOneParentNotMixed_(treeCtrl: import("ngeo/layertree/Controller").LayertreeController): boolean; /** * Return the first parent, from the root parent, that is not mixed. * * @param {import('ngeo/layertree/Controller').LayertreeController} treeCtrl ngeo layertree controller. * @returns {import('ngeo/layertree/Controller').LayertreeController} The first not mixed parent. */ getFirstLevelGroupCtrl_(treeCtrl: import("ngeo/layertree/Controller").LayertreeController): import("ngeo/layertree/Controller").LayertreeController; } export namespace SyncLayertreeMap { let $inject: string[]; } /** * Return the layer used by the given treeCtrl. * * @param {import('ngeo/layertree/Controller').LayertreeController} treeCtrl ngeo layertree controller. * @returns {import('ol/layer/Base').default} The layer. * @hidden */ export function getLayer(treeCtrl: import("ngeo/layertree/Controller").LayertreeController): import("ol/layer/Base").default; export default myModule; import angular from 'angular'; /** * @type {angular.IModule} * @hidden */ declare const myModule: angular.IModule;