Vue 使用高德地图添加多边形

 // 初始化地图

    initAmap() {

      var map = new AMap.Map('container', {

        zoom: 13, // 级别

        // center: [114.429094, 23.110974], // 初始化地图中心点位置

        center: [this.userInfo.companyLng, this.userInfo.companyLat], // 公司所在的经纬度

        viewMode: '3D' // 使用3D视图

      })

      this.map = map

    },

// 向后端接口获取多边形的经纬度,此时后端传过来的经纬度格式为:"114.413034,23.089792;114.415609,23.089851;114.414267,23.088055"

    async getFence() {

      const res = await getFence()

      let pointsArr = []

      if (res.code == 200) {

        pointsArr = res.data.points.split(';')

      }

      let newArr = []

      pointsArr.forEach(item => {

        item = item.split(',')

        newArr.push([Number(item[0]), Number(item[1])])

      })

      this.addPolygon(newArr)

    },

//绘制多边形

addPolygon(newArr) {

      const polygon = new AMap.Polygon({

       //每个多边形的格式必须为[ [经度,维度],[经度,维度] ]

        path: newArr,

        strokeColor: 'red',

        strokeWeight: 1,

        fillOpacity: 0.5,

        fillColor: '#dbd9d5',

        zIndex: 50

      })

      this.map.add(polygon)

    },

效果如图所示:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值