最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
php利用百度api计算两地距离的代码
时间:2022-06-24 17:54:11 编辑:袖梨 来源:一聚教程网
目前在做一个交友项目,需要知道两个用户之间的距离。百度了一下,操作如下:
我们最容易获取到用户地理位置的信息就是ip。
我们通过百度api获取用户经纬度,用ip获取经纬度api:
http://developer.baidu.com/map/index.php?title=webapi/ip-api
得到经纬两个用户经纬度之后就可以计算两用户之间的距离了。计算如下:
代码如下 | 复制代码 |
/** * @desc 根据两点间的经纬度计算距离 * @param float $lat 纬度值 * @param float $lng 经度值 */ function getDistance($lat1, $lng1, $lat2, $lng2) { $earthRadius = 6367000; //approximate radius of earth in meters $lat1 = ($lat1 * pi() ) / 180; $lng1 = ($lng1 * pi() ) / 180; $lat2 = ($lat2 * pi() ) / 180; $lng2 = ($lng2 * pi() ) / 180; $calcLongitude = $lng2 - $lng1; $calcLatitude = $lat2 - $lat1; $stepOne = pow(sin($calcLatitude / 2), 2) + cos($lat1) * cos($lat2) * pow(sin($calcLongitude / 2), 2); $stepTwo = 2 * asin(min(1, sqrt($stepOne))); $calculatedDistance = $earthRadius * $stepTwo; return round($calculatedDistance); } |
代码未经测试。测试后再更新本篇文章告知结果。
相关文章
- 《塞尔达传说王国之泪》海利亚盾刷新耐久方法 海利亚盾怎么刷新耐久? 05-03
- 崩坏星穹铁道托帕突破材料一览 05-03
- TokenPocket钱包苹果版 05-03
- kdpay钱包app官网下载安卓版 05-03
- MGC钱包下载2024最新版 05-03
- 黑币钱包中文版 05-03