uiwjs / react-baidu-map

基于 React 封装的百度地图组件,支持 React Hook,帮助你轻松的接入地图到 React 项目中。
https://uiwjs.github.io/react-baidu-map
MIT License
225 stars 22 forks source link

DrawingManager在WebGL模式下不可用,有报错 #310

Open sknightq opened 1 year ago

sknightq commented 1 year ago

在WebGL模式下会报错 复现方式:用这个demo并开启webgl模式

  1. TypeError: Cannot read properties of undefined (reading 'offset') image
const { drawingManager } = useDrawingManager({
    map,
    isOpen: true, 
    enableDrawingTool: true,
    drawingToolOptions: {
      anchor: BMAP_ANCHOR_TOP_RIGHT, // 位置, 这个用WebGL开启会报 Cannot read properties of undefined (reading 'offset')错误,不传这个参数才能正常渲染,但是不能修改控件位置(只能用CSS修改)
      offset: new BMap.Size(5, 5), 
      drawingModes: ['circle', 'polygon'],
    },
    circleOptions: styleOptions, 
    polylineOptions: styleOptions, 
    polygonOptions: styleOptions, 
    rectangleOptions: styleOptions
  })
  1. 画圆时直接报错Uncaught TypeError: Cannot read properties of null (reading 'lng'),导致无法画圆 image
jaywcjlove commented 1 year ago

https://github.com/uiwjs/react-baidu-map/blob/69b5876048367987b1cbf81da1f847f16d99ec97/packages/api-loader/src/index.tsx#L41-L44

@sknightq 需要设置一下但是也不一定能解决问题,如果没有解决可以使用官方 React GL 组件 https://lbsyun.baidu.com/solutions/reactBmapDoc

https://uiwjs.github.io/react-baidu-map/#/api-loader?_id=props

sknightq commented 1 year ago

@jaywcjlove 感谢回复,官方组件写得太烂了,不管是类型声明还是加载方式。目前解决方法就是不用webgl模式