博客 / 詳情

返回

微信小程序用騰訊地圖計算距離

  1. 首先引入地圖
var QQMapWX = require('../../libs/qqmap/qqmap-wx-jssdk1.2/qqmap-wx-jssdk');
var qqmapsdk;
qqmapsdk = new QQMapWX({
  key: '填申請的key'
});

從接口獲得列表list後,往目的地數組push值

let destinations = [];

for (var i = 0; i < list.length; i++) {
  destinations.push({
    location: {
      lat: list[i].lat,
      lng: list[i].lng
    }
  })
}

然後使用地圖接口來計算距離

let self = this;
qqmapsdk.calculateDistance({
    from: {
      latitude: userLocation.lat,
      longitude: userLocation.lng
    }, // 從當前用户的定位算
    to: destinations,
    success: (res) => {
      let elements = res.result.elements;
      let box = [];
      for (let x = 0; x < elements.length; x++) {
        let distance;
        if (elements[x].distance >= 1000) {
          distance = (elements[x].distance / 1000) + 'km';
        } else {
          distance = parseInt(elements[x].distance) + 'm';
        }
        box.push({
          id: list[x].id, 
          ... // 其他屬性(略)
          distance: distance
        })
      };

      self.setData({
        list: box
      })

    },
    fail: function (failRes) {},
    complete: function (completeRes) {}
 })
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.