import Feature from "ol/Feature"; import { IFeatureAttribute, IFillOption, IGraphicLayerOption, IGraphicOption, IImageStyle, IStrokeOption, ITextOption, ITooltipInfo } from "../base/baseOptionType"; import { proj } from "../proj4/proj"; import { Coordinate } from "ol/coordinate"; export declare class baseGraphic extends Feature { protected option: IGraphicOption; protected Proj: proj; constructor(options: IGraphicOption); protected _setFeatureContextmenu(contextmenu: any): void; setAttribute(attribute: IFeatureAttribute | any): void; toGeoJSON(): import("geojson").Geometry | import("geojson").GeometryCollection; bindPopup(popupInfo: string, option?: { offset: number[]; }): void; bindTooltip(tooltipInfo: string, option?: { offset: number[]; }): void; isPopupBind(): boolean; isTooltipBind(): boolean; bindContextmenu(menu?: any): void; unbindContextmenu(): void; appendContextmenu(menu: any): void; openPopup(popupInfo?: Array | string, popupOption?: IGraphicLayerOption["popupOption"]): void; closePopup(): void; openTooltip(tooltipInfo: string, tooltipOption?: IGraphicLayerOption["popupOption"]): void; private chaikin_copy; private chaikin_smooth_line; private chaikin_smooth_polygon; /** * 平滑方法 * @param {number[]| Coordinate[]} coordinate 坐标 * @param {number} param 参数 * @param {boolean} isLine * @returns {number[]} */ smoothFunc(coordinate: number[] | Coordinate[], param?: number, isLine?: boolean): any; /** * 平滑曲线 * @param {number} param 越大越平滑 * @param {boolean} isLine */ setSmooth(param?: number, isLine?: boolean): void; /** * 设置图形文字样式 * @param {ITextOption} textStyleOption * @example * setTextStyle({ font: "14px Microsoft YaHei", text: "示例", fill: { color: "#8B4513", //"rgba(255, 255, 255, 1)", }, stroke: { color: "rgba(255, 255, 255,1)", //"#fff", width: 2, //2, }, backgroundFill: { color: "rgba(255, 255, 255, 0.0)", //"rgba(255, 255, 255, 1)", }, backgroundStroke: { color: "rgba(0, 0, 0, 0.0)", //"#fff", width: 2, }, padding: [3, 3, 3, 3], offsetX: 0, offsetY: -10, textBaseline: "bottom", }) */ setTextStyle(textStyleOption: ITextOption): void; /** * 设置正方形样式 * @param {IImageStyle} ImageStyleOption * @example * setSquarePointStyle({ scale: 1, // 比例 radius: 5, // 大小 fill: { color: "rgba(255, 0, 0,1)", // 填充色 }, stroke: { color: "rgba(255, 255, 0,1)", // 边框色 width: 1, //宽度 }, }) */ setSquarePointStyle(ImageStyleOption?: IImageStyle): void; /** * 设置三角点样式 * @param {IImageStyle} ImageStyleOption * @example * setTrianglePointStyle({ scale: 1, //比例 radius: 5, //大小 fill: { color: "rgba(255, 0, 0,1)", // 填充色 }, stroke: { color: "rgba(255, 255, 0,1)", // 边框色 width: 1, //宽度 }, }) */ setTrianglePointStyle(ImageStyleOption?: IImageStyle): void; /** * 设置五角星点样式 * @param {IImageStyle} ImageStyleOption * @example * setStarPointStyle({ scale: 1, //比例 radius: 5, //大小 fill: { color: "rgba(255, 0, 0,1)", // 填充色 }, stroke: { color: "rgba(255, 255, 0,1)", // 边框色 width: 1, //宽度 }, }) */ setStarPointStyle(ImageStyleOption?: IImageStyle): void; /** * 设置圆点样式 * @param {IImageStyle} ImageStyleOption * @example * setCirclePointStyle({ scale: 1, //比例 radius: 5, //大小 fill: { color: "rgba(255, 0, 0,1)", // 填充色 }, stroke: { color: "rgba(255, 255, 0,1)", // 边框色 width: 1, //宽度 }, }) */ setCirclePointStyle(ImageStyleOption?: IImageStyle): void; /** * 设置边框简单模式样式 * @param {IStrokeOption} strokeStyleOption * @example * setStrokeSimpleStyle({ color: "rgba(255, 255, 255,1)", //"#fff", width: 2, //2, lineDash:[10,10] 或null }) */ setStrokeSimpleStyle(strokeStyleOption: IStrokeOption): void; /** * 设置边框图案填充模式样式,pattern与image 二选一,不用的需undefined,同时配置优先pattern * @param {IStrokeOption} strokeStyleOption * @example * setStrokePatternStyle({ pattern: undefined,图案Enum:mirage2d.DataType.featureStyleType.caps // image: undefined, color: "rgba(255, 255, 0,1)",//背景色 width: 2, lineDash: null, ratio: 1, patternColor: "rgba(0, 0, 0,1)",//图案颜色 offset: 0, scale: 1, size: 5, spacing: 10, angle: 0 }) */ setStrokePatternStyle(strokeStyleOption: IStrokeOption): void; /** * 设置填充简单模式样式 ,从图片模式转到普通模式时,需注意等图片加载完成后才可设置 * @param {string} color * @example * setFillColor("rgba(255, 255, 255,1)")//"#fff" */ setFillColor(color: string): void; /** * 设置多边形图案填充模式样式,pattern与image 二选一,不用的需undefined,同时配置优先pattern * @param {IFillOption} fillStyleOption * @example * setFillPatternStyle({ pattern: undefined,图案Enum:mirage2d.DataType.featureStyleType.caps // image: undefined, patternColor: "rgba(0, 0, 0,1)",//图案颜色 fill: "rgba(255, 255, 0,1)",//背景色 width: 2, lineDash: null, ratio: 1, offset: 0, scale: 1, size: 5, spacing: 10, angle: 0 }) */ setFillPatternStyle(fillStyleOption: IFillOption): void; /** * 设置多边形图片填充模式样式,初始设置时当pattern==null或undefined 且image有值才能生效 * @param {string} imageUrl * @example * setFillImageStyle(imageurl) */ setFillImageStyle(imageUrl: string): void; setZIndex(zindex: number): void; getCoordinates(projection?: string): any; getGraphicJson(projection?: string): { type: string; lnglat: any; dataWkID: string; style: any; attribute: { [x: string]: any; }; }; }