微信小程序内怎么导入地图,距离测算

微信小程序内怎么导入地图,距离测算,第1张

进入腾讯地址服务官网。

在微信小程序中插入个性化地图:进入腾讯地址服务官网,控制台、个性化地图、个性化样式、样式选择。>

先定位目前的位置,再根据输入的目的地进行两地之间的距离计算。(前提是先导入高德地图相应的sdk包)。

对于iOS或者安卓同学来说,可能会觉得特别简单吧。OC里就有原生类CLLocation计算坐标点距离。当然,大多数时候我们都是直接使用第三方计算,比如百度SDK。

但是接触到微信小程序后,由于可能刚起步,许多API并不完善。像百度SDK关于微信小程序的就没有提供这样的接口去计算。 百度地图微信小程序JS API

仔细翻一番看看,在开发指南->获取地图数据 菜单下只看到4个最基本的功能(POI检索、POI检索热词联想、逆地址解析、天气查询),并没有看到关于计算距离的。看到这些还好,至少不会继续下去入坑了。

后来我就度娘了,第一条检索就是腾讯地图开放平台的内容。这也是为什么今天我要写这篇文章的原因,我入坑了。友情提示,使用腾讯地图确实可以计算两坐标距离,但是呢?只能是10km以内的距离。不然调用后返回结果: status: 373, message: "起终点距离超长"

如果不在意只是10km以内距离的话,想要去集成腾讯地图SDK,文档在此  腾讯地图微信小程序JavaScript SDK

最终解决方案只能自己算了,不用第三方了。

//计算两坐标点之间的距离

  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

    return (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)))).toFixed(0)

  },

需要注意的是,该方法返回单位为米,如果想要转换成公里,除以1000即可。

一边走路一边测量米数的软件如下:

1、《测亩宝》

很多农民用户或者农业专家都用这款软件来测量距离跟土地面积,精准的测量结果可以让大家了解到当前的土地到底有多大,并且从长宽数据为大家显示出来,看起来一目了然。

2、《距离测量》

通过实景来测量距离,不仅可以测量距离,还可以测量高度,多分段的测量帮助用户精准掌握高度和长度的数值,软件的水平仪非常稳定,在倾斜的时候也能调整倾斜角度来测量。

3、《多功能测量》

功能全面的测量软件,无论是学习土木工程的大学生还是专业的建筑工人都喜欢用这款软件来进行距离测量,通过手机上面的传感器来对距离进行测量,然后各种深度优化算法把数值呈现给用户。

4、《趣步》

可以记录用户每天走到的步数和运动量,然后转换成距离,让大家知道今天走了多长距离的路,帮助大家养成自律运动的习惯,还可以每天打卡运动,计算消耗的卡路里。

5、《健康运动计步器》

每天打卡走路运动,让身体更加健康,通过走路来记录行走的距离,还能查看行走的轨迹,软件的传感器非常灵敏,精准记录每走的一个步数,用户可以通过查看运动距离来设置运动量和运动计划。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12028734.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存