UNPKG

gisviewer-vue3-arcgis

Version:

在应用中引入私服的包, 项目根目录下 新建文件 .npmrc 在 .npmrc 中对包源进行配置:

139 lines (138 loc) 3.59 kB
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 {};