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 相关文章推荐
php zip文件解压类代码
Dec 02 PHP
php垃圾代码优化操作代码
Aug 05 PHP
Uncaught exception com_exception with message Failed to create COM object
Jan 11 PHP
php实现扫描二维码根据浏览器类型访问不同下载地址
Oct 15 PHP
PHP访问Google Search API的方法
Mar 05 PHP
PHP实现简单搜歌的方法
Jul 28 PHP
php实现表单多按钮提交action的处理方法
Oct 24 PHP
Yii2验证器(Validator)用法分析
Jul 23 PHP
使用Yii2实现主从数据库设置
Nov 20 PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
Feb 08 PHP
PHP实现批量清空删除指定文件夹所有内容的方法
May 30 PHP
YII2 全局异常处理深入讲解
Mar 24 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
php简单开启gzip压缩方法(zlib.output_compression)
2013/04/13 PHP
解析php中反射的应用
2013/06/18 PHP
PHP同时连接多个mysql数据库示例代码
2014/03/17 PHP
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
php判断是否为ajax请求的方法
2016/11/29 PHP
PHP实现随机数字、字母的验证码功能
2018/08/01 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
ExtJs事件机制基本代码模型和流程解析
2010/10/24 Javascript
利用js 进行输入框自动匹配字符的小例子
2013/06/29 Javascript
JavaScript回调(callback)函数概念自我理解及示例
2013/07/04 Javascript
js获取URL的参数的方法(getQueryString)示例
2013/09/29 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
2014/03/25 Javascript
jQuery实现鼠标经过图片预览大图效果
2014/04/10 Javascript
jQuery插件开发精品教程让你的jQuery提升一个台阶
2016/01/27 Javascript
AngularJS身份验证的方法
2016/02/17 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
2016/12/26 Javascript
jQuery简单实现MD5加密的方法
2017/03/03 Javascript
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
2018/05/07 Javascript
JS eval代码快速解密实例解析
2020/04/23 Javascript
vue项目打包后提交到git上为什么没有dist这个文件的解决方法
2020/09/16 Javascript
Python代码的打包与发布详解
2014/07/30 Python
pandas的object对象转时间对象的方法
2018/04/11 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
Python数据集切分实例
2018/12/08 Python
英国和世界各地鲜花速递专家:Arena Flowers
2018/02/10 全球购物
Giglio俄罗斯奢侈品购物网:男士、女士、儿童高级时装
2018/07/27 全球购物
加拿大领先家居家具网上购物:Aosom.ca
2020/05/27 全球购物
课程设计心得体会
2013/12/28 职场文书
期终自我鉴定
2014/02/17 职场文书
好的促销活动方案
2014/08/21 职场文书
优秀党员学习焦裕禄精神思想汇报范文
2014/09/10 职场文书
2014年优质护理服务工作总结
2014/11/14 职场文书
幼师个人总结范文
2015/02/28 职场文书
小学教学工作总结2015
2015/05/13 职场文书
企业法人代表证明书
2015/06/18 职场文书
mysql连接查询中and与where的区别浅析
2021/07/01 MySQL