echarts百度地图控制显示区域

想要只显示某一区域的内容,超出的就禁止拖拽,但是测试了一天,也没有成功,而且如果真的禁止成功了,那往回拖拽的时候怎么开启也是一个问题,在网上参考了很多博客,想到了一个折中的解决方案,如果拖拽超出了指定的区域,就让它回到中心点位置,本想让它改变中心点为拖拽之后区域的中心点,但是那样依旧阻止不了一直拖拽出控制区域,所以改成超出便回到中心点

let bmap = myChart.getModel().getComponent('bmap').getBMap()
        bmap.setMinZoom(12)
        bmap.setMaxZoom(19)
        // bmap.addControl(new BMap.MapTypeControl())
        bmap.addEventListener('click', function (e) {
          console.log(e.point.lng)
          console.log(e.point.lat)
        })

        let extent = new Object()
        extent.minX = '118.842387'
        extent.maxX = '119.600126'
        extent.minY = '36.501958'
        extent.maxY = '36.933808'
        bmap.addEventListener('dragging', (type, target) => {
          console.log(bmap.getBounds())
          if (bmap.getBounds().Ol.lng < extent.minX || bmap.getBounds().xl.lng > extent.maxX || bmap.getBounds().Ol.lat < extent.minY || bmap.getBounds().xl.lat > extent.maxY) {
              bmap.centerAndZoom(new this.BMap.Point(119.222119, 36.717958), bmap.getZoom())
            console.log(bmap.getCenter())
          }
        })

new this.BMap在文档就绪函数内将调用成功的百度地图BMap赋值给data里的BMap

 this.$nextTick(() => {
        let _this = this
        MP(AK).then(BMap => {
          this.BMap = BMap
          this.height = window.screen.availHeight * 0.9 + 'px'
          this.$nextTick(() => {
            this.drawLine()
          })
          window.addEventListener('resize', () => {
            this.height = window.screen.availHeight * 0.9 + 'px'
            console.log(window.screen.availHeight)
            this.$echarts.init(document.getElementById('myChart')).resize()
          })
        })
      })
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值