import { LatLng } from "../common/latlng"; import { PlaneXY } from "../common/plane-xy"; import { ScreenXY } from "../common/screen-xy"; import { FillSymbol } from "../symbol/symbol"; import { Geometry, GeometryType } from "./geometry"; /** * 面 * @remarks * 数据结构:[ring[point[x,y]]]:such as [[[1,1],[2,2],[1,2]], [[1.5,1.5],[1.9,1.9],[1.5,1.9]]] */ export declare class Polygon extends Geometry { protected _type: GeometryType; _latlngs: LatLng[][]; _planeXYs: PlaneXY[][]; _screenXYs: ScreenXY[][]; constructor(latlngs: LatLng[][]); getLatLngs(): LatLng[][]; _setLatLngs(latlngs: LatLng[][]): void; setLatLngs(latlngs: LatLng[][]): void; /** * 投影变换 * @param {Projection} projection - 坐标投影转换 */ project(): void; transform(origin: ScreenXY, zoom: number, symbol?: FillSymbol): void; /** * 输出GeoJSON格式字符串 */ toGeoJSON(precision?: number): { type: string; coordinates: any[]; }; /** * 绘制面 * @param {CanvasRenderingContext2D} ctx - 绘图上下文 * @param {Projection} projection - 坐标投影转换 * @param {Bound} extent - 当前可视范围 * @param {Symbol} symbol - 渲染符号 */ draw(ctx: CanvasRenderingContext2D, symbol?: FillSymbol): void; contains(screenXY: ScreenXY): boolean; }