当前位置: 首页 > news >正文

腾讯位置商业授权微信小程序距离计算

微信小程序JavaScript SDK 距离计算

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

calculateDistance(options:Object)

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

        注:坐标系采用gcj02坐标系

options属性说明

属性类型必填说明
modeString可选值:‘driving’(驾车)、‘walking’(步行),默认:'walking’
新增直线距离计算,‘straight’(直线)直线距离计算适用于 jssdkv1.1 jssdkv1.2
fromStringIObject位置坐标,
①String格式:lat<纬度>,lng<经度>(例:from: ‘39.984060,116.307520’)
②Object格式:
{
  latitude: 纬度,
  longitude: 经度
}
(例:from: {
latitude: 39.984060,
longitude: 116.307520
})
默认是当前位置
toStringIObject终点坐标,
①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
}
},…])
sigString签名校验
开启WebServiceAPI签名校验的必传参数,只需要传入生成的SK字符串即可,不需要进行MD5加密操作
该参数适用于 jssdkv1.1 jssdkv1.2

调用结果

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

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

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

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

示例

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

<!--form表单-->
<form bindsubmit="formSubmit"><!--输入起点和终点经纬度坐标,格式为string格式--><label>起点坐标:<input style="border:1px solid #000;" name="start"></input></label><!--多个终点位置示例:39.984060,116.307520;39.984060,116.507520--><label>终点坐标:<input style="border:1px solid #000;" name="dest"></input></label><!--提交表单数据--><button form-type="submit">计算距离</button>
</form>
<!--渲染起点经纬度到终点经纬度距离,单位为米-->
<view wx:for="{{distance}}" wx:key="index"><view>起点到终点{{index+1}}的步行距离为{{item}}米</view>
</view>

Javascript 关键代码片段:

// 引入SDK核心类
var QQMapWX = require('xxx/qqmap-wx.js');// 实例化API核心类
var qqmapsdk = new QQMapWX({key: '开发密钥(key)' // 必填
});//在Page({})中使用下列代码
Page({data: {distance: [],},//事件触发,调用接口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配额及使用限制

资料来源:

腾讯位置商业授权微信小程序距离计算-腾讯地图代理商

http://www.xdnf.cn/news/1385749.html

相关文章:

  • 有鹿机器人:用智能清洁重塑多行业工作方式
  • AI推介-大语言模型LLMs论文速览(arXiv方向):2025.04.25-2025.04.30
  • ADO 操作access
  • 选华为实验工具:eNSP Pro 和社区在线实验哪个更适合?
  • 《华为战略管理法:DSTE 实战体系》读书笔记
  • 第二章 Vue + Three.js 实现鼠标拖拽旋转 3D 立方体交互实践
  • FDTD_mie散射_项目研究(1)
  • DirectX修复工具官方中文增强版下载!下载安装教程(附安装包),0xc000007b错误解决办法
  • 【python+requests】接口自动化测试:三步用代理工具快速定位问题
  • Linux 软件编程(十四)网络编程:数据存储与 SQLite 数据库
  • 【C++】类与对象(上)
  • Python- Visual Studio Code配置Anaconda
  • Vue 实战:优雅实现无限层级评论区,支持“显示全部”分页递归加载
  • simd笔记
  • 使用生成对抗网络增强网络入侵检测性能
  • 【开题答辩全过程】以 基于Python的美食点评系统为例,包含答辩的问题和答案
  • 【数据结构与算法-Day 20】从零到一掌握二叉树:定义、性质、特殊形态与存储结构全解析
  • Hadoop(六)
  • T06_循环神经网络
  • 基于博客系统的自动化测试项目
  • Selenium无法定位元素的几种解决方案
  • C# 日志写入loki
  • 力扣452:用最少数量的箭射爆气球(排序+贪心)
  • 如何编译和使用 tomcat-connectors-1.2.32 源码(连接 Apache 和 Tomcat)​附安装包下载
  • 数据质检之springboot通过yarn调用spark作业实现数据质量检测
  • Dify 1.8.0 全网首发,预告发布
  • 2024-06-13-debian12安装Mariadb-Galera-Cluster+Nginx+Keepalived高可用多主集群
  • 动态UI的秘诀:React中的条件渲染
  • 在PostgreSQL中使用分区技术
  • 【三维渲染技术讨论】Blender输出的三维文件里的透明贴图在Isaac Sim里会丢失, 是什么原因?