编辑
2025-07-01
前端开发遇到问题
00

目录

问题截图
使用pnpm命令给包打补丁
react-bmapgl修改添加showVectorStreetLayer配置
使用组件添加showVectorStreetLayer配置
已经卫星地图已经改为自定义标注

在使用百度地图官方推荐react库react-bmap时,会经常遇到最新api无法使用的问题(该库也已经很久未维护),因此这里需要修改react-bmap源码,加入最新api。这里以展示标注配置showVectorStreetLayer为例,修改原始包。

问题截图

img1.png

使用pnpm命令给包打补丁

  • 安装pnpm
  • 使用pnpm重新安装所有包(生成pnpm-lock.yaml文件)
  • 使用pnpm patch给指定包打补丁
  • 修改包代码
  • pnpm patch-commit提交修改文件
  • 重启项目
bash
# 安装pnpm npm install -g pnpm@latest-10 # 使用pnpm重新安装所有包(生成pnpm-lock.yaml文件) pnpm i # 使用pnpm patch给指定包打补丁(命令成功后生成/patches/react-bmapgl.patch文件,同时node_modules文件夹下会生成一个.pnpm_patches/react-bmapgl@0.2.28文件) pnpm patch react-bmapgl # 提交修改文件 pnpm patch-commit '/Volumes/KX_sd10/sd_pro/cms_v5.1/node_modules/.pnpm_patches/react-bmapgl@0.2.28' # 重启项目 pnpm run start

react-bmapgl修改添加showVectorStreetLayer配置

找到/node_modules/react-bmapgl/dist/Map/Map.js,安全修改配置 在78行下添加

js
,'showVectorStreetLayer'

在133行添加

js
if(this.props?.showVectorStreetLayer !== undefined) { options.showVectorStreetLayer = this.props?.showVectorStreetLayer }

使用组件添加showVectorStreetLayer配置

js
<Map ref={(ref: any) => { map = ref ? ref.map : null; actions.addMap(ref ? ref.map : null) }} showVectorStreetLayer={true} // 百度地图个性化配置,可在https://lbsyun.baidu.com/index.php?title=open/custom配置需要用到的json mapStyleV2={{ styleJson: satelliteJson }} > </Map>

已经卫星地图已经改为自定义标注

img321.png

本文作者:lsq_137

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!