假期结束了 恢复工作啦 整理之前的项目 有个功能可以记录下 之后其他项目里应该会用得到
需求是甲方的商铺有个定位信息 然后每次客户下单时需要提交自己的位置定位信息 通过腾讯位置服务 计算甲方店铺位置和下单客户提交定位之间的距离 然后把甲方设置的配送费 代入到距离进行计算 得出费用让客户支付
先到腾讯位置服务里申请个账号 微信登录就行 下面的网址

登录之后需要创建个KEY 调SDK的时候用 然后左边菜单栏 应用管理 我的应用 里面 创建个自己的应用

应用创建了之后 会生成有KEY

然后下载下SDK 我是用在微信小程序 就下微信的 按照自己开发的情况具体下载就可以

下载好的SDK在工程里引入下 我一般会放到utils文件夹里 在需要调用腾讯位置的.js文件里引入 开始调用
var QQMapWX = require('../utils/qqmap.js');var qqmapsdk = new QQMapWX({ key: 'XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX'});import {
key填入腾讯位置 应用管理列表 自己创建的应用key 引入就完成了
计算距离长短的方法 官方文档的网址是这个
https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/methodCalculatedistance
传入起点和终点的经纬度 调一下腾讯位置里的这个方法 只要经纬度不出错[传入格式有要求] 方法会返回2个点之间的距离 可以选择 驾车 步行 最近新增了 直线 在程序里测试过了 几乎没有太大的误差 给出来的距离也很准 返回的数据是米 还有结合路况的时间 贴一下方法
//两地位置距离获取 locationDistanceGet() { var that = this, fromVal = that.data.getInfo.latitude + ',' + that.data.getInfo.longitude, toVal = that.data.toInfo.latitude + ',' + that.data.toInfo.longitude; //调用距离计算接口 qqmapsdk.calculateDistance({ mode: 'driving', //可选值:'driving'(驾车)、'walking'(步行),不填默认:'walking',可不填 from: fromVal, //若起点有数据则采用起点坐标,若为空默认当前地址 to: toVal, //终点坐标 success: function (res) { //成功后的回调 var mileVal = (res.result.elements[0].distance / 1000).toFixed(2);//返回距离换算成km }, fail: function (error) {}, complete: function (res) { } }); },
在success的成功回调里 做了下km换算 然后价格单独写了个计算方法 把公里数传到方法里计算就完成了
腾讯位置服务里 有很多实用的方法可以用 之后项目里用到新的再来记录
保持好奇 不断进步 下期见~