vue vue-baidu-map 大地坐标转百度坐标




1、转坐标一次最左转10-个,所以要分割数据

//分割数据
    getNewArray(arr, size) {
      // size=5,要分割的长度
      const arrNum = Math.ceil(arr.length / size, 10); // Math.ceil()向上取整的方法,用来计算拆分后数组的长度
      let index = 0; // 定义初始索引
      let resIndex = 0; // 用来保存每次拆分的长度
      const result = [];
      while (index < arrNum) {
        result[index] = arr.slice(resIndex, size + resIndex);
        resIndex += size;
        index++;
      }
      return result;
    },
    //转换坐标
    async transformationPoint() {
      let newArr = [];
      for (let i = 0; i < this.formatData.length; i++) {
        this.convertor.translate(this.formatPoints[i], 1, 5, data => {
          if (data.status === 0) {
            //转换成功
            data.points.forEach(item => {
              newArr.push(item);
            });
          }
        });
      }
      setTimeout(() => {
        for (let i = 0; i < this.leftData.length; i++) {
          this.leftData[i].position = newArr[i];
        }
        this.markers = this.leftData;
      }, 1000);
    },

你可能感兴趣的:(vue.js,前端)