@uiw/react-baidu-map-api-loader
Version:
Baidu Map api-loader Components for React.
95 lines (94 loc) • 3.02 kB
TypeScript
/**
* 初始化和加载baidu地图
*/
import React from 'react';
declare global {
interface Window {
BMap: any;
[index: string]: () => any;
}
}
export interface APILoaderConfig {
/**
* akay 密钥
* 您需先申请密钥(ak)才可使用该服务,接口无使用次数限制,请开发者放心使用。
* 文档说明地址:http://lbsyun.baidu.com/index.php?title=jspopular3.0/guide/getkey
* 申请秘钥地址:http://lbs.baidu.com/apiconsole/key?application=key
*/
akay?: string;
/**
* SDK 包版本
* @default 3.0
*/
version?: string;
/**
* 协议,默认是根据当前网站协议的
*/
protocol?: 'http' | 'https';
/**
* 请求 SDK 的前半部分
* http://api.map.baidu.com/api?v=2.0&ak=E480562045
* @default api.map.baidu.com/api
*/
hostAndPath?: string;
/**
* JSONP 回调函数
*/
callbackName?: string;
/**
* 百度地图JavaScript API GL v1.0是一套由JavaScript语言编写的应用程序接口,可帮助您在网站中构建功能丰富、交互性强的地图应用,支持PC端和移动端基于浏览器的地图应用开发,且支持HTML5特性的地图开发。
* JavaScript API GL使用了WebGL对地图、覆盖物等进行渲染,支持3D视角展示地图。 GL版本接口基本向下兼容,迁移成本低。目前v1.0版本支持了基本的3D地图展示、基本地图控件和覆盖物。
*/
type?: 'webgl';
/**
* 禁用 SDK 加载,当你使用本地自己加载 SDK 可以设置为 true
* ```html
* <script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
* ```
*/
disableScripts?: boolean;
}
export declare function delay(time: number): Promise<undefined>;
export interface APILoaderProps extends APILoaderConfig {
/**
* 用于展示加载中或错误状态
*/
fallback?: (error?: Error) => React.ReactNode;
}
interface State {
loaded: boolean;
error?: Error;
}
/**
* APILoader 用于加载百度地图依赖
*/
export default class APILoader extends React.Component<React.PropsWithChildren<APILoaderProps>, State> {
static defaultProps: {
akay: string;
hostAndPath: string;
version: string;
callbackName: string;
type: string;
};
private isMountedOk;
/**
* 全局可能存在多个Loader同时渲染, 但是只能由一个负责加载
*/
private static waitQueue;
/**
* 等待BMap就绪
*/
static ready(): Promise<unknown>;
constructor(props: APILoaderProps);
componentDidMount(): void;
componentWillUnmount(): void;
render(): string | number | boolean | Iterable<React.ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
private getScriptSrc;
/**
* load BaiduMap in script tag
*/
private loadMap;
private handleError;
private finish;
}
export {};