UNPKG

xgis-ol

Version:

基于openlayers + ol-ext库进行封装

150 lines (149 loc) 3.52 kB
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; }