假期结束了 恢复工作啦 整理之前的项目 有个功能可以记录下 之后其他项目里应该会用得到

需求是甲方的商铺有个定位信息 然后每次客户下单时需要提交自己的位置定位信息 通过腾讯位置服务 计算甲方店铺位置和下单客户提交定位之间的距离 然后把甲方设置的配送费 代入到距离进行计算 得出费用让客户支付

先到腾讯位置服务里申请个账号 微信登录就行 下面的网址

https://lbs.qq.com/

登录之后需要创建个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换算 然后价格单独写了个计算方法 把公里数传到方法里计算就完成了

腾讯位置服务里 有很多实用的方法可以用 之后项目里用到新的再来记录

保持好奇 不断进步 下期见~