1.关于计算2点之间的距离都依赖了腾讯地图,所以请先在腾讯地图官网申请key。具体流程看下图:
2.下面具体讲计算2点之间距离的方法。
方法一:3.1.通过wx.getLocation(Objectobject)获取用户当前的经度,纬度:
getPosition:function(){varthatthis;wx.getLocation({success:function(res){that.setData({fromLng:res.longitude,fromLat:res.latitude})}})},4.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){constaddressLocationres.data.result.location;constcourseLataddressLocation.lat;//获取目的地的纬度constcourseLngaddressLocation.lng;//获取目的地的经度}that.setData({toLat:courseLat,toLng:courseLng})}})5.3.定义计算距离的方法:
getDistance:function(lat1,lng1,lat2,lng2){lat1lat1||0;lng1lng1||0;lat2lat2||0;lng2lng2||0;varrad1lat1*Math.PI/180.0;varrad2lat2*Math.PI/180.0;vararad1-rad2;varblng1*Math.PI/180.0-lng2*Math.PI/180.0;varr6378137;vardistancer*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;}6.4.调用该方法:
getDistance(fromLng,fromLat,toLat,toLng)7.我需要同时计算多条数据的距离,我发现在遍历返回目的地经纬度的时候,它返回来的结果并不是按照你列表的顺序返回来的,而且有些地址还解析不出来。
8.不知道是我的写法有问题,还是接口调用的问题。如果哪位大神看到网上有这种示例,麻烦提供一下链接给我,借鉴学习一下~后面我采取的是下面这种方法:
方法二:通过腾讯地图的距离计算接口9.1.跟方法一第1步一样,获取用户的接口权限;
10.2.把qqmap-wx-jssdk.min.js加到你小程序;
11.3.在需要计算距离的js页面引用qmap-wx-jssdk.min.js,并实例化该对象:
constQQMapWXrequire('../../lib/js/qqmap-wx-jssdk.min.js');varqqmapsdk;onLoad:function(options){//实例化API核心类qqmapsdknewQQMapWX({key:'VBXBZ-YVGRW-2Z4RK-O6H27-WEXUT-3ZB2M'});},12.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){constaddressLocationres.data.result.location;constcourseLataddressLocation.lat;constcourseLngaddressLocation.lng;letdestinationDistance;qqmapsdk.calculateDistance({to:[{latitude:courseLat,longitude:courseLng}],success:function(res){destinationDistanceres.result.elements[0].distance;letdistanceKm`${(destinationDistance/1000).toFixed(2)}Km`;//转换成kmthat.setData({distance:distanceKm})},fail:function(res){console.log(res);}});}}})13.注意腾讯地图的请求限制:
微信小程序计算2点之间的距离-微信有没有测量距离的小程序-微信小程序ibeacon
浏览量:8474
时间:
来源:weixin_34015860
版权声明
即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。
最新资讯
-

即速应用,赋能企业玩转微信小程序智慧经营
作为国内领军的智慧商业经营服务商,即速应用始终秉承“让每个企业都拥有自己的智慧店铺”的愿景,持续赋能更多企业玩转智慧经营。即速应用旗下拥有“小程序搭建工具-即速应用”、“私域流量专家-即客云”等产品,帮助商家打通互联网全生态营销闭环。 -

即客云2.0重磅更新,让微信小程序运营更简单!
即客云作为一款基于企业微信的第三方工具,现从多维度提供超过30种功能,自上线以来,已服务多家企业,受到一致好评。近期,我们根据客户反馈和市场调研正式推出升级版 即客云2.0!更新了私域运营SOP,群日历功能,批量拓客,客户雷达,消息推送,个人欢迎语,帮助企业更好运用企业微信;同时提升了社群运营工作标准化,提升运营效率,帮助企业实现客户增长,玩转私域流量。 -

零代码 + AI 双轮驱动|即速应用解锁人工智能小程序开发新范式
无需代码、无需 AI 算法功底,普通人也能快速搭建智能小程序。即速应用将人工智能与零代码开发深度融合,推出 AI 智能生成能力,用户通过自然语言描述需求,AI 自动生成小程序页面、功能模块与后台配置,覆盖商城、预约、同城、社区团购等全场景。平台内置 AI 智能推荐、智能客服、用户画像分析等能力,一键对接微信生态,打通视频号、企业微信、短信跳转,帮企业快速落地 AI 应用,抢占智慧经营先机,让每家企业都拥有 AI 驱动的智慧店铺。










