[微信小程序]計算自己手機到指定位置的距離


目的: 根據目的地的坐標計算自己手機的位置離目的地的距離的
核心思路: 后續操作必須等所有異步請求都返回了才能繼續 使用
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( '')
}
})
})
},


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM