@web-map-service/map2d
Version:
基于openlayer的2D地图服务
56 lines (55 loc) • 2.23 kB
TypeScript
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;
};