[微信小程序]计算自己手机到指定位置的距离

微信小程序开发交流qq群   581478349

[微信小程序]计算自己手机到指定位置的距离_第1张图片   承接微信小程序开发。扫码加微信。

正文:

目的: 根据目的地的坐标计算自己手机的位置离目的地的距离的

核心思路: 后续操作必须等所有异步请求都返回了才能继续 使用Promise()

const qqmap = require("../../utils/qqmap-wx-jssdk.js")

var qqmapsdk;

 

onLoad: function () {

// 实例化API核心类

qqmapsdk = new qqmap({

key: '' //腾讯位置服务的key

});

this.data_list()

},

// 加载数据列表

data_list: function () {

const that = this

const syncArr = []

const url = util.apiUrl + 'Index/index_show?program_id=' + app.program_id

util.request(url, 'post', '', '正在加载数据', function (res) {

for (let i =0; i < res.data.k4.length; i++) {

syncArr.push(that.map(res.data.k4[i].sh_jd))

}

Promise.all(syncArr).then(results => {

for (let j =0; j < results.length; j++) {

res.data.k4[j].sh_jd = results[j]

}

that.setData({

arr: res.data,

lunbo: res.data.k1,

images: res.data.k2,

nearby_merchant: res.data.k4

})

})

})

},

// 公共方法 根据腾讯地图接口获取计算距离http://lbs.qq.com/qqmap_wx_jssdk/method-calculatedistance.html

map(data) {

return new Promise((resolve) => {

const latitude = data.split(',')

qqmapsdk.calculateDistance({

to: [{

latitude: latitude[0],

longitude: latitude[1]

}],

success(res) {

const distance = Math.floor(res.result.elements[0].distance /1000 * 100) /100

resolve(distance)

},

fail() {

resolve('')

}

})

})

},

你可能感兴趣的:(计算自己手机到指定位置的距离,Promise,微信小程序)