Skip to content

基于 React 封装的百度地图组件,支持 React Hook,帮助你轻松的接入地图到 React 项目中。

License

Notifications You must be signed in to change notification settings

uiwjs/react-baidu-map

Repository files navigation

百度地图 LOGO

百度地图 React 组件

Buy me a coffee Build & Deploy Downloads Coverage Status Open in unpkg npm version Gitee Repo

这是一个基于 React 封装的百度地图组件,帮助你轻松的接入地图到 React 项目中。除了必须引用的 APILoader/Map 组件外,我们目前提供了最常用的地图组件,能满足大部分简单的业务场景;如果你有更复杂的需求,或者觉得默认提供的组件功能不够,可以使用 Map 组件返回的地图实例,完全自定义一个地图组件,然后根据百度地图原生 API 做百度地图允许你做的一切事情。

文档实例预览: Github | Gitee

Warning

百度地图的 key 删除了,一些人开发直接复制 key ,导致申请的百度地图开发者 key 流量用完了。

特性

  • ♻️ 自动加载百度地图 SDK(通过创建 Script 标签的形式加载),包括第三方 SDK。
  • 📚 使用 Typescript 编写,集成百度地图 SDK @type 声明文件(包括中文注释)。
  • ⚛️ 支持 React Hook 新增特性(需要 React 16.8+)。
  • 💝 不依赖任何第三方组件。

安装

不依赖 uiw 组件库

npm install @uiw/react-baidu-map --save

使用

import React from 'react';
import { Map, APILoader } from '@uiw/react-baidu-map';

const Demo = () => (
  <div style={{ width: '100%', height: '300px', overflow: 'auto' }}>
    <APILoader akay="eYpCTECSntZmw0WyoQ7zFpCRR9cpgHFG">
      <Map center="杭州"/>
      <Map center="上海">
        {({ BMap, map, container }) => {
          return;
        }}
      </Map>
    </APILoader>
  </div>
);

export default Demo;

容器组件

Package Bundle size(gzip) Version/unpkg
@uiw/react-baidu-map 懒人包
集成所有包,不必安装其它包
bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-api-loader 加载 SDK (必须) bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-map 加载地图(容器) bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-with-map bundle size bundle size(gzip) npm version Open in unpkg

控件组件

Package Bundle size(gzip) Version/unpkg
@uiw/react-baidu-map-control 自定义 bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-copyright-control 版权 bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-navigation-control 平移缩放 bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-geolocation-control 定位 bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-overview-map-control 缩略地图 bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-scale-control 比例尺 bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-type-control 地图类型 bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-panorama-control 全景地图 bundle size bundle size(gzip) npm version Open in unpkg

覆盖物

Package Bundle size(gzip) Version/unpkg
@uiw/react-baidu-map-marker 点标注组件 bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-info-window 信息窗口 bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-label 文本标注 bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-point-collection 加载海量点 bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-polyline 折线组件 bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-polygon 多边形组件 bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-circle bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-ground-overlay 地面叠加层 bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-canvas-layer 自定义Canvas bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-custom-overlay 自定义覆盖物 bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-tile-layer 地图图层 bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-require-script 加载第三方包 bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-curve-line 弧线组件 bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-drawing-manager 鼠标绘制工具 bundle size bundle size(gzip) npm version Open in unpkg

其它

Package Bundle size(gzip) Version/unpkg
@uiw/react-baidu-map-types 类型定义 npm version Open in unpkg
@uiw/react-baidu-map-utils 鼠标绘制工具 bundle size bundle size(gzip) npm version Open in unpkg
@uiw/react-baidu-map-require-script 鼠标绘制工具 bundle size bundle size(gzip) npm version Open in unpkg

开发

npm install -g npm@7

npm install # 安装依赖
npm install --workspaces

npm run build # 编译输出组件 js 文件, .d.ts 类型文件
npm run watch # 监听编译输出 js 文件, .d.ts 类型文件
npm run start # 文档网站运行

相关连接

Contributors

As always, thanks to our amazing contributors!

Made with contributors.

License

Licensed under the MIT License.