/** * Provides a service for setting/unsetting background layers * in maps. * * The notion of background/base layers doesn't exist in OpenLayers. This * service adds that notion. * * Setting a background layer to map is done with the `set` function: * * ngeoBackgroundLayerMgr.set(map, layer); * * To unset the background layer pass `null` as the `layer` argument: * * ngeoBackgroundLayerMgr.set(map, null); * * The `get` function returns the current background layer of the map passed * as an argument. `null` is returned if the map doesn't have a background * layer. * * The background layer is always added at index 0 in the map's layers * collection. When a background layer is set it is inserted (at index 0) * if the map does not already have a background layer, otherwise the * new background layer replaces the previous one at index 0. * * Users can subscribe to a 'change' event to get notified when the background * layer changes: * * ngeoBackgroundLayerMgr.on('change', function(e) { * // do something with the layer * let layer = ngeoBackgroundLayerMgr.get(); * // know which layer was used before * let previous = e.previous * }); * * See our live examples: * [../examples/backgroundlayer.html](../examples/backgroundlayer.html) * [../examples/backgroundlayerdropdown.html](../examples/backgroundlayerdropdown.html) * * @hidden */ export class MapBackgroundLayerManager extends olObservable { /** * @param {import('ngeo/map/LayerHelper').LayerHelper} ngeoLayerHelper Themes service. */ constructor(ngeoLayerHelper: import("ngeo/map/LayerHelper").LayerHelper); /** * Object used to track if maps have background layers. * * @type {Object} * @private */ private mapUids_; /** * @type {import('ngeo/map/LayerHelper').LayerHelper} * @private */ private ngeoLayerHelper_; /** * Return the current background layer of a given map. `null` is returned if * the map does not have a background layer. * * @param {import('ol/Map').default} map Map. * @returns {?import('ol/layer/Base').default} layer The background layer. */ get(map: import("ol/Map").default): import("ol/layer/Base").default | null; /** * Set the background layer of a map. If `layer` is `null` the background layer * is removed. * * @param {import('ol/Map').default} map The map. * @param {import('ol/layer/Base').default} layer The new background layer. * @returns {?import('ol/layer/Base').default} The previous background layer. */ set(map: import("ol/Map").default, layer: import("ol/layer/Base").default): import("ol/layer/Base").default | null; /** * Return the current background layer overlay of a given map, used by the opacity slider. * `null` is returned if the map does not have an opacity background layer. * * @param {import('ol/Map').default} map Map. * @returns {?import('ol/layer/Base').default} layer The opacity background layer. */ getOpacityBgLayer(map: import("ol/Map").default): import("ol/layer/Base").default | null; /** * Set an background layer overlay, used by the opacity slider. * * @param {import('ol/Map').default} map The map. * @param {import('ol/layer/Base').default} layer The opacity background layer. */ setOpacityBgLayer(map: import("ol/Map").default, layer: import("ol/layer/Base").default): void; /** * @param {import('ol/Map').default} map The map. * @param {Object} dimensions The global dimensions object. */ updateDimensions(map: import("ol/Map").default, dimensions: { [x: string]: string; }): void; } export namespace MapBackgroundLayerManager { let $inject: string[]; } export default myModule; export type BackgroundEventDetails = { current: import("ol/layer/Base").default; previous: import("ol/layer/Base").default | null; }; export type BackgroundEvent = import("ngeo/CustomEvent").default; import olObservable from 'ol/Observable'; /** * @type {angular.IModule} * @hidden */ declare const myModule: angular.IModule; import angular from 'angular';