微信小程序 高德地图知道两点求道路_微信小程序——计算2点之间的距离
关于计算2点之间的距离都依赖了腾讯地图,所以请先在
下面具体讲计算2点之间距离的方法。
方法一:
getPosition: function() {var that = this;
wx.getLocation({
success:function(res) {
that.setData({
fromLng: res.longitude,
fromLat: res.latitude
})
}
})
},
2.通过腾讯地图 逆解析 你的目的地地址,获取经度,纬度:
wx.request({
url:'https://apis.map.qq.com/ws/geocoder/v1/',
data: {"key": "你的腾讯地图 key","address": "目的地"},
method:'GET',
success:function(res) {if(res.data.result) {
const addressLocation=res.data.result.location;
const courseLat= addressLocation.lat;//获取目的地的纬度
const courseLng = addressLocation.lng;//获取目的地的经度
}
that.setData({
toLat: courseLat,
toLng:courseLng
})
}
})
3.定义 计算距离的 方法:
getDistance: function(lat1, lng1, lat2, lng2) {
lat1= lat1 || 0;
lng1= lng1 || 0;
lat2= lat2 || 0;
lng2= lng2 || 0;var rad1 = lat1 * Math.PI / 180.0;var rad2 = lat2 * Math.PI / 180.0;var a = rad1 -rad2;var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;var r = 6378137;var distance = r * 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(rad1) * Math.cos(rad2) * Math.pow(Math.sin(b / 2), 2)));returndistance;
}
4.调用该方法:
getDistance(fromLng,fromLat,toLat,toLng)
我需要同时计算多条数据的距离,我发现在遍历返回目的地经纬度的时候,它返回来的结果并不是按照你列表的顺序返回来的,而且有些地址还解析不出来。
不知道是我的写法有问题,还是接口调用的问题。如果哪位大神看到网上有这种示例,麻烦提供一下链接给我,借鉴学习一下~后面我采取的是下面这种方法:
方法二:通过腾讯地图的距离计算接口
1.跟方法一第1步一样,获取用户的接口权限;
2.把 qqmap-wx-jssdk.min.js 加到你小程序;
3.在需要计算距离的js页面引用 qmap-wx-jssdk.min.js ,并实例化该对象:
const QQMapWX = require('../../lib/js/qqmap-wx-jssdk.min.js');varqqmapsdk;
onLoad:function(options) {//实例化API核心类
qqmapsdk = newQQMapWX({
key:'VBXBZ-YVGRW-2Z4RK-O6H27-WEXUT-3ZB2M'});
},
4.先逆解析目的地,再调用
wx.request({
url:'https://apis.map.qq.com/ws/geocoder/v1/',
data: {"key": "你的key","address": "目的地名称"},
method:'GET',
success:function(res) {if(res.data.result) {
const addressLocation=res.data.result.location;
const courseLat=addressLocation.lat;
const courseLng=addressLocation.lng;
let destinationDistance;
qqmapsdk.calculateDistance({
to: [{
latitude: courseLat,
longitude: courseLng
}],
success:function(res) {
destinationDistance= res.result.elements[0].distance;
let distanceKm= `${(destinationDistance/1000).toFixed(2)}Km`;//转换成km
that.setData({
distance: distanceKm
})
},
fail:function(res) {
console.log(res);
}
});
}
}
})
注意腾讯地图的请求限制:
微信小程序 高德地图知道两点求道路_微信小程序——计算2点之间的距离相关推荐
- 高德地图api调用demo_微信小程序----高德地图API实现的DEMO
[实例简介] 微信小程序----高德地图API实现的周边,天气,路线规划,地址详情等的DEMO.简单的效果,问一下官方能不能不要乱涨积分,你们涨积分,作者被骂!我真的很失望,再这样,我就不上传资源了! ...
- 微信小程序系统教程Java版[3/3阶段]_微信小程序电商系统-翟东平-专题视频课程...
微信小程序系统教程Java版[3/3阶段]_微信小程序电商系统-2445人已学习 课程介绍 微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识. 微信小 ...
- 视频教程-微信小程序系统教程Java版[3/3阶段]_微信小程序电商系统-微信开发
微信小程序系统教程Java版[3/3阶段]_微信小程序电商系统 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试 ...
- 视频教程-微信小程序系统教程python版[3/3阶段]_微信小程序支付-手游开发
微信小程序系统教程python版[3/3阶段]_微信小程序支付 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试 ...
- 微信小程序——计算2点之间的距离
关于计算2点之间的距离都依赖了腾讯地图,所以请先在腾讯地图官网申请key.具体流程看下图: 下面具体讲计算2点之间距离的方法. 方法一: 1.通过 wx.getLocation(Object obje ...
- 高德地图哪个语音包最好_高德地图app怎么录制语音包?高德地图将自己的语音用作导航语音包的方法介绍...
高德地图是一款中国专业的手机地图,拥有全面的地点信息,特色语音导航.智能路线规划,是我们常用的一款移动地图导航工具,用高德地图语音导航,可以听到很多明星的导航语音播报,当然你也可以自己录制语音包.那么 ...
- 高德地图安卓 拖拽选点_不止微信支付宝 高德地图正式上线小程序入口
此前,即速应用发布的<小程序2019年行业年中增长研究报告>指出,小程序发展周期主要分为四个阶段:探索期.启动期.高速发展期和成熟期,目前处于高速发展后期,逐渐平稳发展. 2017年小程序 ...
- 高德地图小程序步行路线显示_微信小程序 高德地图路线规划实现过程详解
前言 最近项目中做到相关网约车小程序.需要使用到地图中的路线规划,对3种地图进行了分析.这里稍微做一下总结: 百度地图 百度坐标 (BD-09) 腾讯地图 火星坐标(GCJ-02) 高德地图 火星坐标 ...
- right 微信小程序_微信小程序高德地图API
本文章介绍微信小程序调用高德地图API的过程,使用高德定位功能做演示. 微信小程序目前支持百度地图.高德地图.腾讯地图.用法可以说是基本完全一样,本文章以高德为例,简单说一下他们的区别,高德地图精度应 ...
最新文章
- WPF Layout System
- 如何用photoshop做24色环_如何用Photoshop给照片添加印章水印,内附印章模板素材...
- asp.net 学习的一些地址
- 关于VS打包程序无法弹出主界面的问题
- bash之流程控制for循环及bash命令退出和退出状态码
- 、简述global关键字的作用_详解static inline关键字
- C++使用链表实现queue之一(附完整源码)
- java 设计作业——简单计算器
- 单调栈与单调队列简单例题
- endnote 参考文献加序号_EndNote上手 | 毕业写论文利器
- 手动编辑文件解决冲突_4.2.1 git am patch手动解决冲突的办法
- 查看linux内存大小
- android----面试基础概括总结
- Android退出登录总结
- 一年365天,把1.0作为每天的能力值基础,每天原地踏步 则能力值为1.0,如果每天努力一点点则能力值提高1%,每天再努力一点则能力值提高2%,那一年后,这3种行为收获的成果相差多少呢?
- NAR|北大/中科院计算所团队发布基因功能富集分析平台KOBAS-i
- ll -h和du -sh的区别
- Java 实现视频时间维度剪切 | Java工具类
- 悬浮按钮和可交互按钮
- go 你有50枚金币,需要分配给以下几个人
热门文章
- java面试解决项目难题_Java转换难题者,不适合工作(或面试)
- junit规则_jUnit:规则
- 什么是序列化? 您需要通过示例解释的有关Java序列化的所有知识
- 只能在测试中注射吗?
- spark restful_使用Spark构建简单的RESTful API
- tomcat 正常关闭_Tomcat的带有守护程序和关闭钩子的正常关闭
- java 断点_每个Java开发人员应拥有的持久断点
- 应用JDK 9 @不推荐使用的增强功能
- Apache PDFBox命令行工具:无需Java编码
- soa示例_SOA示例应用程序