gisviewer-vue3-arcgis
Version:
在应用中引入私服的包, 项目根目录下 新建文件 .npmrc 在 .npmrc 中对包源进行配置:
139 lines (138 loc) • 3.59 kB
TypeScript
import Feature from 'ol/Feature';
import { Geometry } from 'ol/geom';
import { default as OlMap } from 'ol/Map';
import { ILineSymbol, IMaskParam, IOverlayParam, IPointSymbol, IPolygonSymbol, IResult } from '../../../types';
interface IOverlayOptions {
id?: string;
}
export default class OverlayController {
private map;
private overlayLayer;
private vectorSource;
private hiddenStyle;
/** 保存feature闪烁状态 */
private flashingMap;
constructor(map: OlMap, options?: IOverlayOptions);
private defaultPointSymbol;
/**
* 添加覆盖物
* @param params
*/
addOverlays(params: IOverlayParam): IResult;
/**
* 添加或更新单个覆盖物
* @param overlay 覆盖物对象
* @param symbol 符号
* @param properties 属性
* @param visible 是否可见
*/
private addOverlay;
/**
* 创建几何对象
* @param geometryConfig 几何配置
*/
private createGeometry;
/**
* 获取样式
* @param geometryType 几何类型
* @param symbol 符号配置
* @param attributes 属性
*/
private getStyle;
/**
* 按type移除覆盖物
* @param types
*/
removeOverlaysByType(types: string[] | string): IResult;
/**
* 按id移除覆盖物
* @param ids
*/
removeOverlaysById(ids: string[] | string): IResult;
/**
* 按id显示或隐藏覆盖物
* @param ids
* @param isShow
*/
isShowOverlaysByIds(ids: string[], isShow: boolean): void;
/**
* 显示全部覆盖物
*/
showAllOverlays(): void;
/**
* 删除全部覆盖物
* @returns
*/
removeAllOverlays(): IResult;
/**
* 更新覆盖物符号
* @param ids 覆盖物id数组
* @param symbol 新的符号配置
*/
updateOverlaysSymbol(ids: string[], symbol: IPointSymbol | ILineSymbol | IPolygonSymbol): IResult;
/**
* 按type更新覆盖物符号
* @param types 类型数组
* @param symbol 新的符号配置
*/
updateOverlaysSymbolByType(types: string[], symbol: IPointSymbol | ILineSymbol | IPolygonSymbol): IResult;
/**
* 获取几何类型字符串
* @param geometry
*/
private getGeometryType;
/**
* 按id获取覆盖物Feature
* @param id
*/
getOverlayById(id: string): Feature<Geometry> | undefined;
/**
* 按type获取覆盖物Feature数组
* @param type
*/
getOverlaysByType(type: string): Feature<Geometry>[];
/**
* 隐藏图层
*/
hideLayer(): void;
/**
* 显示图层
*/
showLayer(): void;
/**
* 删除指定的Feature
* @param features
*/
/**
* 查找屏幕坐标处的覆盖物
* @param pixel 屏幕像素坐标 [x, y]
*/
findFeaturesAtPixel(pixel: number[]): Feature<Geometry>[];
/**
* 销毁
*/
destroy(): void;
addMask(params: IMaskParam): void;
removeMask(): void;
/**
* 按id定位覆盖物并闪烁
* @param params 参数对象
* @param params.id 覆盖物id
* @param params.duration 闪烁持续时间(秒),不传则无限期
* @param params.needZoom 是否需要缩放到覆盖物
*/
flashOverlay(params: {
id: string;
duration?: number;
needZoom?: boolean;
}): void;
/**
* 停止指定覆盖物闪烁
* @param params 参数对象
* @param params.id 覆盖物id
*/
stopFlash(params?: {
id: string;
}): void;
}
export {};