/** * @file 鼠标绘制工具库 * @author hedongran * @email hdr01@126.com */ import React, { CSSProperties } from 'react'; import { Component, MapChildrenProps } from '../common'; import { Options } from '../common/WrapperHOC'; export interface DrawingManagerProps extends BMapGL.DrawingManagerOptions, MapChildrenProps { /** 是否开启绘制模式,默认不开启 */ isOpen?: boolean; /** 当前的绘制模式, 默认是绘制点 */ drawingMode?: BMapGL.DrawingType; /** 是否添加绘制工具栏控件,默认添加 */ enableDrawingTool?: boolean; /** 绘制是否进行测距(画线时候)、测面积(画圆、多边形、矩形) */ enableCalculate?: boolean; /** 绘制线和多边形时,是否开启鼠标吸附功能 */ enableSorption?: boolean; /** 绘制多边形时,是否开启重叠部分裁剪功能 */ enableGpc?: boolean; /** 是否开启限制绘制图形距离、面积功能,该功能依赖`enableCalculate`值为`true` */ enableLimit?: boolean; /** 设置鼠标吸附的像素距离,开启`enableSorption`后生效 */ sorptionDistance?: number; /** 设置图形距离、面积限制的实际值,开启`enableLimit`后生效 */ limitOptions?: BMapGL.DrawingLimitOptions; /** 绘制工具栏控件的属性,`enableDrawingTool`值为`true`或默认时生效 */ drawingToolOptions?: BMapGL.DrawingToolOptions; /** Marker的绘制样式与属性 */ markerOptions?: BMapGL.MarkerOptions; /** Circle的绘制样式与属性 */ circleOptions?: BMapGL.CircleOptions; /** Polyline的绘制样式与属性 */ polylineOptions?: BMapGL.PolylineOptions; /** Polygon的绘制样式与属性 */ polygonOptions?: BMapGL.PolygonOptions; /** Rectangle的绘制样式与属性 */ rectangleOptions?: BMapGL.PolygonOptions; /** 跟随鼠标的提示label的绘制样式与属性 */ labelOptions?: CSSProperties; /** 绘制完成时的回调函数 */ onOverlaycomplete?(e: Event, info: object): void; /** 挂载元素的样式 */ style?: CSSProperties; /** 样式的url地址,默认为在线地址 */ cssUrl?: string; /** 脚本的url地址,默认为在线地址 */ scriptUrl?: string; } declare class DrawingManager extends Component { private el; static contextType: React.Context; static defaultProps: DrawingManagerProps | object; drawingmanager: BMapGLLib.DrawingManager; options: Options; constructor(props: DrawingManagerProps); componentDidMount(): void; componentWillUnmount(): void; destroy(): void; initialize(): void; render(): JSX.Element; } declare const _default: typeof DrawingManager; /** * 用来在地图上通过鼠标绘制覆盖物,该组件属于不属于原生JSAPI,属于开源工具库[BMapGLLib](https://github.com/huiyan-fe/BMapGLLib) * @visibleName DrawingManager 鼠标绘制工具 */ export default _default;