最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
php利用百度api计算两地距离的代码
时间:2022-06-24 17:54:11 编辑:袖梨 来源:一聚教程网
目前在做一个交友项目,需要知道两个用户之间的距离。百度了一下,操作如下:
我们最容易获取到用户地理位置的信息就是ip。
我们通过百度api获取用户经纬度,用ip获取经纬度api:
http://developer.ba*i*d*u.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); } |
|
代码未经测试。测试后再更新本篇文章告知结果。
相关文章
- oppok11玩游戏怎么样介绍 03-22
- 字母站是什么平台 03-22
- 如何删除emmo日记中的心情日记 03-22
- 万王之王3D铁卫技能加点推荐(铁卫技能加点详解及优化方案,助你成为无敌的王者!) 03-22
- 探秘第五人格佣兵天赋加点技巧(打造最强佣兵,助你成为游戏巅峰) 03-22
- 2026有用的老年人脑力训练游戏有什么 有趣的脑力训练游戏合集推荐 03-22