react项目中,百度地图的marker上添加数字

//pointOut:marker的坐标点,indexOut:动态数字,name:每个marker设置的标识
@action setIconNum = (pointOut, indexOut, name) => {

        let map = this.map

        function ComplexCustomOverlay(point, index, name) {

            this._point = point

            this._index = index

            this._name = name

            this._map = map

        }

        ComplexCustomOverlay.prototype = new BMap.Overlay()

        ComplexCustomOverlay.prototype.initialize = function (map) {

            let span = this._span = document.createElement("span")

            span.className = `${this._name}${this._index}`

            //这里用jquery设置样式

            $(span).css({

                'position': 'absolute',

                // 'z-index': BMap.Overlay.getZIndex(this._point.lat),
                'z-index': "3",

                'display': 'block',

                'width': '26px',

                'color': '#FFF',

                'text-align': 'center',

                'point-events': 'none',

                'font-size': `11px`
            })

            //设置数字也就是我们的标注

            this._span.innerHTML = this._index + 1

            map.getPanes().labelPane.appendChild(span)

            return span

        }

        ComplexCustomOverlay.prototype.draw = function () {

            var map = this._map

            var pixel = map.pointToOverlayPixel(this._point)

            //设置自定义覆盖物span 与marker的位置

            this._span.style.left = pixel.x - 13 + 'px'

            this._span.style.top = pixel.y - 11 + 'px'

        }

        let myCompOverlay = new ComplexCustomOverlay(pointOut, indexOut, name)

        this.myCompOverlayArr.push(myCompOverlay)

        this.map.addOverlay(myCompOverlay)
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值