小程序实例:如何根据经纬度计算两点之间的距离「代码」

背景介绍

小程序已经成为我们日常生活中必不可少的一项工具,如外卖、购物、社交等,它们都是基于小程序开发而成的。在实际开发中,有时需要根据用户的位置信息来计算两点之间的距离。

下面我们就来介绍一下如何根据经纬度计算两点之间的距离,以便在小程序开发中更加方便地获取所需数据。

计算原理

根据地球的经纬度可以计算出两点之间的空间距离,这里介绍一个经典公式——haversine公式。该公式可以通过经纬度计算出两点之间的距离。

代码实现

function getDistance(lat1, lng1, lat2, lng2) {

const R = 6378137; // 地球半径

const dLat = (lat2 - lat1) * Math.PI / 180;

const dLng = (lng2 - lng1) * Math.PI / 180;

const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +

Math.cos(lat1 * Math.PI / 180) * Math.cos(lat2 * Math.PI / 180) *

Math.sin(dLng / 2) * Math.sin(dLng / 2);

const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));

const distance = R * c;

return distance;

}

代码说明

上述代码中,我们定义了一个函数 getDistance,这个函数传入4个参数:经纬度信息。首先,我们将地球的半径(R)赋值 为 6,378,137米,接下来,我们通过经纬度的差值和对数学运算的 Math 对象来计算出两点之间的距离。其中 dLat 和 dLng 分别是两点的纬度和经度的差,a 表示上述公式的中间计算结果,c 表示距离系数,最后再将 R 和 c 相乘的结果就得到了两点之间的距离,单位是米。

代码测试

我们可以调用函数来测试其可用性,以及不同经纬度之间的距离。

const distance = getDistance(39.9, 116.3, 31.2, 121.4);

console.log(distance); // 输出:1048183.5733520806米

总结

本文介绍了如何根据经纬度计算两点之间的距离。可以通过 haversine 公式来实现,将参数传入一个计算函数中,便可得到两点之间的距离。这是小程序开发中非常实用的功能。希望本文可以帮助大家获得更多的小程序开发技巧。