uiwjs / react-baidu-map

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

如何将GroundOverlay放到地图的底层 #335

Closed zswcat closed 1 week ago

zswcat commented 2 weeks ago

目前看GroundOverlay是在折线、marker这些上层的,如何改到底层,目前看没有暴露方法出来。求问

jaywcjlove commented 2 weeks ago

https://github.com/uiwjs/react-baidu-map/blob/3f01e8e792cd4b9dd3dcaf132c8932d14926f558/packages/curve-line/src/index.tsx#L15-L21

通过 ref 或者 hook 拿到底层对象 @zswcat

zswcat commented 2 weeks ago

感谢大佬的回复,我还是有一些疑问

我参照官方样例使用的ref,代码如下

const BackUtilDisplay = (props: { imageBackg: ImageBackg }) => {
    const { imageBackg } = props

    const groundRef = (props: any) => {
        if (props && props.groundOverlay) {
            console.log('groundOverlay:', props.groundOverlay);
        }
    }

    return (
        /** @ts-ignore */
        <GroundOverlay bounds={new BMap.Bounds(imageBackg.sw, imageBackg.ne)} imageURL={imageBackg.src}
            ref={groundRef}
            opacity={imageBackg.opacity}
            displayOnMinLevel={4}
            displayOnMaxLevel={9}
        />
    )
}

前端打印到的数据如下

image

求问我应该如何改层级

jaywcjlove commented 1 week ago

@zswcat map 实例对象不是拿到了,你想咋改就咋改哦

zswcat commented 1 week ago

@zswcat map 实例对象不是拿到了,你想咋改就咋改哦

我通过里边ca拿到了div,改了zIndex,丑陋的实现了。但是有个问题,是必须点击一次地图,才会生效

zswcat commented 1 week ago

@zswcat map 实例对象不是拿到了,你想咋改就咋改哦

我通过里边ca拿到了div,改了zIndex,丑陋的实现了。但是有个问题,是必须点击一次地图,才会生效

已经解决,加了个延迟500ms

zswcat commented 1 week ago

目前看GroundOverlay是在折线、marker这些上层的,如何改到底层,目前看没有暴露方法出来。求问