PHP根据两点间的经纬度计算距离


Posted in PHP onOctober 31, 2014

这是一个不错的示例,直接贴代码,首先要知道纬度值、经度值

/** 
* @desc 根据两点间的经纬度计算距离 
* @param float $lat 纬度值 
* @param float $lng 经度值 
*/ 
function getDistance($lat1, $lng1, $lat2, $lng2) 
{ 
$earthRadius = 6367000; //approximate radius of earth in meters 

/* 
Convert these degrees to radians 
to work with the formula 
*/ 

$lat1 = ($lat1 * pi() ) / 180; 
$lng1 = ($lng1 * pi() ) / 180; 

$lat2 = ($lat2 * pi() ) / 180; 
$lng2 = ($lng2 * pi() ) / 180; 

/* 
Using the 
Haversine formula 

http://en.wikipedia.org/wiki/Haversine_formula 

calculate the distance 
*/ 

$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); 
}
PHP 相关文章推荐
一个高ai的分页函数和一个url函数
Oct 09 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
Aug 14 PHP
PHP程序漏洞产生的原因分析与防范方法说明
Mar 06 PHP
ThinkPHP实例化模型的四种方法概述
Aug 22 PHP
ThinkPHP3.2.2的插件控制器功能
Mar 05 PHP
php获取json数据所有的节点路径
May 17 PHP
简单谈谈favicon
Jun 10 PHP
php打包网站并在线压缩为zip
Feb 13 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
Sep 23 PHP
静态html文件执行php语句的方法(推荐)
Nov 21 PHP
完美的php分页类
Oct 24 PHP
php实现的简单多进程服务器类完整示例
Feb 01 PHP
ThinkPHP在新浪SAE平台的部署实例
Oct 31 #PHP
封装ThinkPHP的一个文件上传方法实例
Oct 31 #PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
Oct 31 #PHP
ThinkPHP控制器间实现相互调用的方法
Oct 31 #PHP
ThinkPHP上使用多说评论插件的方法
Oct 31 #PHP
让ThinkPHP支持大小写url地址访问的方法
Oct 31 #PHP
set_exception_handler函数在ThinkPHP中的用法
Oct 31 #PHP
You might like
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
2011/08/18 PHP
CodeIgniter基本配置详细介绍
2013/11/12 PHP
php截取中文字符串不乱码的方法
2013/12/25 PHP
php自定义apk安装包实例
2014/10/20 PHP
PHP strripos函数用法总结
2019/02/11 PHP
JQuery Tips(4) 一些关于提高JQuery性能的Tips
2009/12/19 Javascript
关于Bootstrap弹出框无法调用问题的解决办法
2016/03/10 Javascript
javascript数字验证的实例代码(推荐)
2016/08/20 Javascript
JavaScript“尽快失败”的原则实例详解
2016/10/08 Javascript
Vue应用部署到服务器的正确方式
2017/07/15 Javascript
react开发教程之React 组件之间的通信方式
2017/08/12 Javascript
JavaScript实现的斑马线表格效果【隔行变色】
2017/09/18 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
layer实现弹出层自动调节位置
2019/09/05 Javascript
vue如何使用async、await实现同步请求
2019/12/09 Javascript
vue组件内部引入外部js文件的方法
2020/01/18 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
vue 实现一个简单的全局调用弹窗案例
2020/09/10 Javascript
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
[04:45]上海特级锦标赛主赛事第三日TOP10
2016/03/05 DOTA
Python读写文件方法总结
2015/06/09 Python
python3 kmp 字符串匹配的方法
2018/07/07 Python
利用pandas读取中文数据集的方法
2018/07/25 Python
在Pycharm中修改文件默认打开方式的方法
2019/01/17 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
2019/08/26 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
2020/01/08 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
经贸日语毕业生自荐信
2013/11/03 职场文书
日语专业推荐信
2013/11/12 职场文书
考试不及格检讨书
2014/01/09 职场文书
给老婆的婚前保证书
2014/02/01 职场文书
《池塘边的叫声》教学反思
2014/04/12 职场文书
运动会演讲稿300字
2014/08/25 职场文书
病危通知单
2015/04/17 职场文书
老干部座谈会主持词
2015/07/03 职场文书
Python控制台输出俄罗斯方块移动和旋转功能
2021/04/18 Python