php 根据经纬度计算两点之间的距离
2023-09-11 14:19:35 时间
/*根据经纬度计算两点之间的距离*/ class GPSUtil { const EARTH_RADIUS = 6378137; /** * @desc 根据两点间的经纬度计算距离 * @param float $lat 纬度值 * @param float $lng 经度值 */ public static function getDistance($lat1, $lng1, $lat2, $lng2) { // 赤道半径(单位m) $earthRadius =self::EARTH_RADIUS; $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 abs(round($calculatedDistance/1000, 2)); } }
相关文章
- 使用PHP + Apache访问有错误的php脚本时不报错
- PHP计算一年有多少周,每周开始日期和结束日期
- Windows下图文详解PHP三种运行方式(php_mod、cgi、fastcgi)
- 配置php.ini实现PHP文件上传功能
- PHP Socket编程 之 php实现http服务
- PHP Socket编程 之 php中连接tcp服务的三种方式
- 用PHP+Redis实现延迟任务,实现自动取消订单
- php:使用XHProf查找PHP性能瓶颈
- php:如何使用PHP排序, key为字母+数字的数组(多维数组)
- dns未设置 PHP Warning: file_get_contents():php_network_getaddresses: getaddrinfo failed:
- php:用数组实现多语言(PHP 7.4.2)
- 你以为PHP那么好自定义升级?
- PHP缓存技术
- PHP读取配置文件类(php,ini,yaml,xml)
- PHP JSON 封装
- CentOS 6.4 + nginx-1.2.5 + php-5.4.15 + MySQL-5.5.31
- 【PHP】Sublime下PHP网站开发指南
- PHP获取数组的一个元素
- 烂泥:php5.6源码安装及php-fpm配置
- [FAQ] WebStorm/PHPStorm:设置 HTML/JavaScript/PHP 注释缩进行为,代码片段
- Atitit.java c#.net php项目中的view复用(jsp,aspx,php的复用)
- atitit.php 流行框架 前三甲为:Laravel、Phalcon、Symfony2 attilax 总结
- PHP cURL 函数
- PHP MySQL Order By 关键词
- PHP酒店管理demo案例(数组遍历)
- 在 php 7.3 中 switch 语句中使用 continue
- PHP环境手动搭建教程