微信小程序JavaScript SDK

您所在的位置:网站首页 手机计算步行公里数 微信小程序JavaScript SDK

微信小程序JavaScript SDK

2024-07-12 20:34| 来源: 网络整理| 查看: 265

产品通知 由于 /ws/distance/v1 接口已逐步下线,后续不再进行维护,建议您通过WebService API接口的距离矩阵实现相关需求,接入方法请参考微信小程序中使用服务API

calculateDistance(options:Object)

        计算一个点到多点的步行、驾车距离。

        注:坐标系采用gcj02坐标系

options属性说明

属性 类型 必填 说明 mode String 否 可选值:‘driving’(驾车)、‘walking’(步行),默认:'walking’新增直线距离计算,‘straight’(直线)直线距离计算适用于 jssdkv1.1 jssdkv1.2 from StringIObject 是 位置坐标,①String格式:lat,lng(例:from: ‘39.984060,116.307520’)②Object格式:{  latitude: 纬度,  longitude: 经度 }(例:from: { latitude: 39.984060,longitude: 116.307520})默认是当前位置 to StringIObject 是 终点坐标,①String格式:lat,lng;lat,lng… (经度与纬度用英文逗号分隔,坐标间用英文分号分隔)(例:to: ‘39.984060,116.307520;39.984060,116.507520’)②Object格式1:[{  latitude: 纬度,  longitude: 经度}, …](例:to:[{  latitude:39.984060,  longitude:116.307520},…])③Objec格式2:此格式主要对应search返回的数据结构格式,方便开发这批量转换[{location: {  lat: 纬度,  lng: 经度}}, …](例:to:[{location:{  lat:39.984060,  lng:116.307520}},…]) sig String 否 签名校验开启WebServiceAPI签名校验的必传参数,只需要传入生成的SK字符串即可,不需要进行MD5加密操作该参数适用于 jssdkv1.1 jssdkv1.2

调用结果

        通过属性success, fail, complete的回调参数来接收调用结果

        success的回调参数可以有2个,第1个参数接收调用结果,第2个参数控制返回处理后的数据(非必须参数),示例:success:function(res,data)

        该属性适用于 jssdkv1.1 jssdkv1.2

名称 类型 说明 status number 状态码,0为正常,310请求参数信息有误,311Key格式错误,306请求有护持信息请检查字符串,110请求来源未被授权 message string 状态说明,即对状态码status进行说明,如:status为0,message为"query ok",为正常,status为310,message为"请求参数信息有误",status为311,message为"key格式错误",status为306,message为"请求有护持信息请检查字符串",status为110,message为"请求来源未被授权" result object 计算结果 elements array 结果数组 from object 起点坐标 lat number 纬度 lng number 经度 to object 终点坐标 lat number 纬度 lng number 经度 distance number 起点到终点的距离,单位:米,如果radius半径过小或者无法搜索到,则返回-1 duration number 表示从起点到终点的结合路况的时间,秒为单位注:步行方式不计算耗时,该值始终为0

示例

WXML 模板文件中添加map组件,并绑定markers数据:

起点坐标: 终点坐标: 计算距离 起点到终点{{index+1}}的步行距离为{{item}}米

Javascript 关键代码片段:

// 引入SDK核心类 var QQMapWX = require('xxx/qqmap-wx.js'); // 实例化API核心类 var qqmapsdk = new QQMapWX({ key: '开发密钥(key)' // 必填 }); //在Page({})中使用下列代码 //事件触发,调用接口 formSubmit(e){ var _this = this; //调用距离计算接口 qqmapsdk.calculateDistance({ //mode: 'driving',//可选值:'driving'(驾车)、'walking'(步行),不填默认:'walking',可不填 //from参数不填默认当前地址 //获取表单提交的经纬度并设置from和to参数(示例为string格式) from: e.detail.value.start || '', //若起点有数据则采用起点坐标,若为空默认当前地址 to: e.detail.value.dest, //终点坐标 success: function(res) {//成功后的回调 console.log(res); var res = res.result; var dis = []; for (var i = 0; i < res.elements.length; i++) { dis.push(res.elements[i].distance); //将返回数据存入dis数组, } _this.setData({ //设置并更新distance数据 distance: dis }); }, fail: function(error) { console.error(error); }, complete: function(res) { console.log(res); } }); } 接口调用说明

    calculateDistance(options:Object)方法调用接口服务如下:

/ws/distance/v1 距离计算:步行 /ws/distance/v1 距离计算:驾车

注:微信小程序JavaScript SDK通过对腾讯位置服务WebServiceAPI接口进行封装而形成,因此和直接调用WebSerivceAPI的限制是等同的,具体可参考:腾讯位置服务WebServiceAPI配额及使用限制



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3