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 Ubb代码编辑器函数代码
Jul 05 PHP
使用php伪造referer的方法 利用referer防止图片盗链
Jan 20 PHP
PHP根据传入参数合并多个JS和CSS文件的简单实现
Jun 13 PHP
php分页函数完整实例代码
Sep 22 PHP
php自动获取关键字的方法
Jan 06 PHP
php实现数组按指定KEY排序的方法
Mar 30 PHP
Laravel 5框架学习之Laravel入门和新建项目
Apr 07 PHP
WordPress主题中添加文章列表页页码导航的PHP代码实例
Dec 22 PHP
[原创]PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】
Sep 02 PHP
PHP7新功能总结
Apr 14 PHP
基于Laravel-admin 后台的自定义页面用法详解
Sep 30 PHP
Laravel服务容器绑定的几种方法总结
Jun 14 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数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
2011/10/31 PHP
PHP设计模式 注册表模式
2012/02/05 PHP
php读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
apache中为php 设置虚拟目录
2014/12/17 PHP
php连接oracle数据库的核心步骤
2016/05/26 PHP
php+layui数据表格实现数据分页渲染代码
2019/10/26 PHP
JavaScript 操作键盘的Enter事件(键盘任何事件),兼容多浏览器
2010/10/11 Javascript
jquery实现html页面 div 假分页有原理有代码
2014/09/06 Javascript
实用又漂亮的BootstrapValidator表单验证插件
2016/05/30 Javascript
jquery插件格式实例分析
2016/06/16 Javascript
js生成随机数(指定范围)的实例代码
2016/07/10 Javascript
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
2016/08/15 Javascript
Mac系统下Webstorm快捷键整理大全
2017/05/28 Javascript
vue中element-ui表格缩略图悬浮放大功能的实例代码
2018/06/26 Javascript
JS实现Cookie读、写、删除操作工具类示例
2018/08/28 Javascript
Vue在页面数据渲染完成之后的调用方法
2018/09/11 Javascript
Vue多组件仓库开发与发布详解
2019/02/28 Javascript
[46:20]TFT vs Secret Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
使用Python3 编写简单信用卡管理程序
2016/12/21 Python
Pandas 同元素多列去重的实例
2018/07/03 Python
使用Filter过滤python中的日志输出的实现方法
2019/07/17 Python
Python 变量的创建过程详解
2019/09/02 Python
python字符串反转的四种方法详解
2019/12/02 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
python读取mysql数据绘制条形图
2020/03/25 Python
如何在Python3中使用telnetlib模块连接网络设备
2020/09/21 Python
Pytorch之扩充tensor的操作
2021/03/04 Python
世界上最好的威士忌和烈性酒购买网站:The Whisky Exchange
2016/11/20 全球购物
德国最大的婴儿用品网上商店:Kidsroom.de(支持中文)
2020/09/02 全球购物
销售文员的岗位职责
2013/11/20 职场文书
党支部书记四风问题整改措施
2014/09/24 职场文书
骆驼祥子读书笔记
2015/06/26 职场文书
学校食堂管理制度
2015/08/04 职场文书
nginx location优先级的深入讲解
2021/03/31 Servers
Javascript中的解构赋值语法详解
2021/04/02 Javascript
python scipy 稀疏矩阵的使用说明
2021/05/26 Python