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 相关文章推荐
杏林同学录(九)
Oct 09 PHP
PHP新手上路(十三)
Oct 09 PHP
php巧获服务器端信息
Dec 06 PHP
PHP执行速率优化技巧小结
Mar 15 PHP
phpMyAdmin 安装及问题总结
May 28 PHP
php csv操作类代码
Dec 14 PHP
php递归实现无限分类生成下拉列表的函数
Aug 08 PHP
php 高性能书写
Dec 11 PHP
PHP文件锁定写入实例解析
Jul 14 PHP
ThinkPHP 404页面的设置方法
Jan 14 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
Apr 05 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
Jun 22 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
一个用于网络的工具函数库
2006/10/09 PHP
通过具体程序来理解PHP里面的抽象类
2010/01/28 PHP
处理单名多值表单的详解
2013/06/08 PHP
php获取文件内容最后一行示例
2014/01/09 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
2014/08/05 PHP
PHP的邮件群发系统phplist配置方法详细总结
2016/03/30 PHP
php支持断点续传、分块下载的类
2016/05/02 PHP
php使用自定义函数实现汉字分割替换功能示例
2017/01/30 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
2018/04/04 PHP
Javascript的IE和Firefox兼容性汇编
2006/07/01 Javascript
javascript中万恶的function实例分析
2011/05/25 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
2015/06/17 Javascript
深入理解逻辑表达式的用法 与或非的用法
2016/06/06 Javascript
jQuery获取元素父节点的方法
2016/06/21 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
2016/07/22 Javascript
Bootstrap基本组件学习笔记之列表组(11)
2016/12/07 Javascript
Vue.js中数据绑定的语法教程
2017/06/02 Javascript
详解ElementUI之表单验证、数据绑定、路由跳转
2017/06/21 Javascript
解决vuex数据页面刷新后初始化操作
2020/07/26 Javascript
[04:19]DOTA2完美大师赛第四天精彩集锦
2017/11/26 DOTA
python 算法 排序实现快速排序
2012/06/05 Python
用实例解释Python中的继承和多态的概念
2015/04/27 Python
Python简单连接MongoDB数据库的方法
2016/03/15 Python
python实现简单中文词频统计示例
2017/11/08 Python
Python数据结构与算法之使用队列解决小猫钓鱼问题
2017/12/14 Python
Python实现修改IE注册表功能示例
2018/05/10 Python
html5画布旋转效果示例
2014/01/27 HTML / CSS
加拿大留学自荐信
2014/01/28 职场文书
护理人员的自我评价分享
2014/03/15 职场文书
《路旁的橡树》教学反思
2014/04/07 职场文书
声乐专业大学生职业生涯规划书:理想的未来需要自己去打造
2014/09/20 职场文书
秋季运动会开幕词
2015/01/28 职场文书
销售员自我评价
2015/03/11 职场文书
故意伤害辩护词
2015/05/21 职场文书
vue elementUI批量上传文件
2022/04/26 Vue.js