UNPKG

@web-map-service/map2d

Version:

基于openlayer的2D地图服务

56 lines (55 loc) 2.23 kB
import { Coord, CircleData, PointData, ElementPluginOptions, ElementImage } from './types'; import { Geometry as OlGeometry } from 'ol/geom'; import { default as OlFeature } from 'ol/Feature'; import { Container, Element } from '../../container'; import { Style, StorkeStyle, FillStyle, ImageStyle, CircleStyle } from '../../style'; import { default as OlStyle } from 'ol/style/Style'; import { Layer } from '../layers'; export type ElementData = CircleData | PointData | Coord; /** * 线段和矩形是 PointData Array<[number, number]> * 圆形是 CircleData { center: number[], radius: number } * 图片是 Coord [number, number] */ export declare function getElementData(olGeometry: OlGeometry): ElementData; export declare function getLayerByOlFeature(olFeature: OlFeature, container: Container): Layer | undefined; export declare function getElementByOlFeature(olFeature: OlFeature, container: Container): Element<any> | undefined; /** * 数据同步到olFeatrue上 * @param OlFeature * @param Container * @returns boolean */ export declare function syncDataFeature(data: ElementData, olFeature: OlFeature): void; /** * 通过olFeature里面的数据直接同步到element上 * @param OlFeature * @param Container * @returns boolean */ export declare function syncOlFeatureElementData(olFeature: OlFeature, container: Container): void; export declare function getElementOlStyle(element: Element): OlStyle[]; export declare function createElementCommon(olGeometry: OlGeometry, olFeature: OlFeature, options: ElementPluginOptions): { id: number; layerId: number; type: Element["type"]; name: string | undefined; image: ElementImage | undefined; data: any; rotate: number; style: Partial<{ stroke: Partial< StorkeStyle>; fill: Partial< FillStyle>; image: Partial< ImageStyle>; circle: Partial< CircleStyle>; }> | undefined; readonly props: { [x: string]: any; }; setName(name: string): void; setRotate(rotate: number): void; setProps(props: Record<string, unknown>): void; getOlFeature(): OlFeature<OlGeometry>; setStyle(style: Style): void; setData(data: Coord | CircleData | PointData): void; };