微信小程序> 微信小程序map地址间距离计算以及导航功能实现-微信有没有测量距离的小程序-微信小程序ibeacon

微信小程序map地址间距离计算以及导航功能实现-微信有没有测量距离的小程序-微信小程序ibeacon

浏览量:4785 时间: 来源:@xiaomajia
1.

在微信小程序当中,实现简易的、没有很多复杂功能的地图,可以选用小程序的原生map组件。

2.

WXML如下:

mapid"mymap"longitude"{{longitude}}"latitude"{{latitude}}"scale"14"markers"{{markers}}"subkey"IULBZ-XXXX-XXXX-XXXX-XXXX"bindmarkertap"markertap"show-location/map3.

常用属性如下:(来自微信公众平台-小程序开发文档)

属性类型默认值说明longitudeNumber中心经度latitudeNumber中心纬度scaleNumber16缩放级别,取值范围为5-18markersArray标记点subkeyString''个性化地图使用的key,仅初始化地图时有效bindmarkertapEventHandle点击标记点时触发,会返回marker的id1、导航功能实现4.

需求:从当前位置导航至标记点所在的位置,当点击标记点时触发导航功能

markertap:function(e){wx.openLocation({latitude:39.915378,longitude:116.403694,scale:18,name:'天安门广场',address:'北京市东城区长安街'})},2、两点间距离的计算(默认单位km)//进行经纬度转换为距离的计算functionRad(d){returnd*Math.PI/180.0;//经纬度转换成三角函数中度分表形式。}//计算距离,参数分别为第一点的纬度,经度;第二点的纬度,经度functionGetDistance(lat1,lng1,lat2,lng2){varradLat1Rad(lat1);varradLat2Rad(lat2);vararadLat1-radLat2;varbRad(lng1)-Rad(lng2);vars2*Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2)+Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2)));ss*6378.137;//EARTH_RADIUS;sMath.round(s*10000)/10000;//输出为公里//ss.toFixed(2);returns;}5.

PS:上面的公式是通过弧度公式算出来的球体上两点之间的最短距离,和导航上的步行/骑行等距离有差别。

6.

参考:https://blog.csdn.net/zzjiadw/article/details/7031610

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎