计算商家和用户的距离必须要用到他们的经纬度
1进入腾讯位置服务选择微信小程序JavaScript申请密钥
2下载SDK
3在所需的页面引入
// 引入SDK核心类
import QQMapWX from 'xxx/qqmap-wx.js';
// 实例化API核心类
let qqMap = new QQMapWX({
key: '开发密钥(key)' // 必填
});
4根据地址转经纬度
mainPoints(e) { //e为用户的地址
qqMap.geocoder({
address: e.detail.value
complete: res => {
console.log(res.result.location); //获取到到经纬度
} else {
console.log('无法定位到该地址,请确认地址信息!');
}
}
});
}
5根据商家和用户的经纬度计算他的距离
distance = function(la1, lo1, la2, lo2) {
var La1 = la1 * Math.PI / 180.0;
var La2 = la2 * Math.PI / 180.0;
var La3 = La1 - La2;
var Lb3 = lo1 * Math.PI / 180.0 - lo2 * Math.PI / 180.0;
var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(La3 / 2), 2) + Math.cos(La1) * Math.cos(La2) * Math.pow(Math.sin(
Lb3 / 2), 2)));
s = s * 6378.137; //地球半径
s = Math.round(s * 10000) / 10000;
return s //计算
}