xgis-ol
Version:
基于openlayers + ol-ext库进行封装
150 lines (149 loc) • 3.52 kB
TypeScript
import Layer from 'ol/layer/Layer';
import { MapEventArgs, MapEventBusClass } from '../events';
import { ILayerItem } from './Models';
import XMap from './XMap';
export default class LayerManager {
private xmap;
private map;
mapEventBus: MapEventBusClass;
private target;
private swipeLayerIndex;
private MapLayers;
/**
* 图层
* 描述对象列表
*/
LayerItemList: Array<ILayerItem>;
constructor(xmap: XMap, mapid: string);
/**
* 获得透视图层的索引
*/
get SwipeLayerIndex(): number;
/**
* 图层字典
*/
get Layers(): Map<string, Layer>;
/**
*通过LayerID,进行改变透视图层索引
*/
changeSwipeLayerByID(layerID: string): void;
/**
* 直接修改:透视图层索引
* @param idx
*/
changeSwipeLayerIndex(idx: number): void;
/** 初始化,增加监听事件 */
private initEventListener;
/**
* 事件的相关处理工作
*/
private removeLayer;
/**
* 复制图层
* @param eArgs
* @returns
*/
private copyLayer;
/**
* 设置Swipe图册
* @param eArgs
*/
private changeSwipeLayerID;
/**
* 图层可见性调整
* @param layerID 图层ID
* @param visible
*/
private layerVisibleHandler;
/**
* 图层透明色调整
* @param layerID 图层ID
* @param opacity
*/
private layerOpacityHandler;
private layerOrderHandler;
/**
* 图层定位调整
* @param layerID 图层ID
*/
layerLocateHandler(layerID: string): void;
/**
* 是否包括该图层ID
* @param layerID 图层ID
*/
hasLayer(layerID: string): boolean;
/**
* 根据图层ID获取对应的图层对象
* @param layerID
* @returns
*/
getLayer(layerID: string): Layer;
/**
* 改变图层的透明度
* @param layerID
* @param opacity
*/
changeLayerOpacity(layerID: string, opacity?: number): void;
/**
* 通过图层ID改变图层的可见性
* @param layerID 图层ID
* @param visible 可见性
*/
changeLayerVisible(layerID: string, visible?: boolean): void;
/**
* 通过图层ID删除图层
* @param layerID 图层ID
* @returns
*/
deleteLayerByID(layerID: string): boolean;
/**
* 根据索引删除某一个图层
* @param index
*/
deleteLayerByIndex(index: number): void;
/**
* 删除图层
* @param thisLayer
*/
deleteLayer(thisLayer: Layer): void;
/**
* 清空图层
*/
clearLayers(): void;
newEvtArgs(data?: any, eventObject?: any): MapEventArgs;
/**
* 注册地图的图层对象
* @param layeritem
*/
registerLayer(layer: Layer, layeritem?: ILayerItem): boolean;
/**
* 删除图层
* @param layerID 图层ID
* @returns
*/
private deleteLayerItem;
/**
* 改变图层可见性
* @param layerID 图层ID
* @param visible 可见性
*/
private changeLayerItemVisible;
/**
* 改变图层的透明度
* @param layerID 图层ID
* @param opacity 可见性
*/
private changeLayerItemOpacity;
/**
* 上下调整图层顺序
* @param layerID 图层ID
* @param updown 1上 -1下
* @returns
*/
private changeLayerItemOrder;
/**
* 设置Swipe图层
* @param layerID
*/
private setSwipeLayerItem;
}