/** * @file 地图核心组件 * @author hedongran * @email hdr01@126.com */ import React, { ReactNode, ReactElement, CSSProperties } from 'react'; import { Component } from '../common'; import { Options } from '../common/WrapperHOC'; export interface MapProps { /** 子节点 */ children?: ReactNode; /** 中心点坐标 */ center: BMapGL.Point | string; /** 缩放级别 */ zoom: BMapGL.ZoomType; /** 地图初始化时的默认配置 */ defaultOptions?: object; /** 个性化地图样式 */ mapStyleV2?: BMapGL.MapStyleV2; /** 地图最小缩放级别 */ minZoom?: BMapGL.ZoomType; /** 地图最大缩放级别 */ maxZoom?: BMapGL.ZoomType; /** 地图类型,普通地图或地球模式 */ mapType?: 'normal' | 'earth'; /** 地图背景颜色,传rgba格式长度为4的数组 */ backgroundColor?: number[]; /** 地图显示配置 */ displayOptions?: object; /** 地图旋转角度 */ heading?: number; /** 地图倾斜角度 */ tilt?: number; /** 是否开启鼠标滚轮缩放 */ enableScrollWheelZoom?: boolean; /** 是否开启双击鼠标缩放 */ enableDoubleClickZoom?: boolean; /** 是否开启地图旋转功能 */ enableRotate?: boolean; /** 是否开启地图倾斜功能 */ enableTilt?: boolean; /** 是否开启地图可拖拽缩放 */ enableDragging?: boolean; /** 鼠标左键单击事件的回调函数 */ onClick?(e: Event): void; /** 地图容器的class类名 */ className?: string; /** 地图容器父元素的style样式 */ style?: CSSProperties; } export interface MapContextProps { map?: BMapGL.Map; } export declare const MapContext: React.Context; declare class Map extends Component { private el; static defaultProps: MapProps | object; options: Options; constructor(props: MapProps); componentDidMount(): void; componentDidUpdate(prevProps: MapProps): void; componentWillUnmount(): void; initialize(): void; renderChildren(children: ReactElement | ReactElement[], map: BMapGL.Map): ReactNode; render(): JSX.Element; } declare const _default: typeof Map; /** * 地图核心对象,地图控件、覆盖物、图层等需作为其子组件,以获得map的实例化对象 * @visibleName Map 地图 */ export default _default; export { default as MapApiLoaderHOC } from './MapApiLoaderHOC';