php计算两个坐标(经度,纬度)之间距离的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php计算两个坐标(经度,纬度)之间距离的方法。分享给大家供大家参考。具体如下:

这里使用php计算两个坐标(经度,纬度)之间的距离,返回结果为米或者千米

function distance($lat1, $lng1, $lat2, $lng2, $miles = true)
{
 $pi80 = M_PI / 180;
 $lat1 *= $pi80;
 $lng1 *= $pi80;
 $lat2 *= $pi80;
 $lng2 *= $pi80;
 $r = 6372.797; // mean radius of Earth in km
 $dlat = $lat2 - $lat1;
 $dlng = $lng2 - $lng1;
 $a = sin($dlat/2)*sin($dlat/2)+cos($lat1)*cos($lat2)*sin($dlng/2)*sin($dlng/2);
 $c = 2 * atan2(sqrt($a), sqrt(1 - $a));
 $km = $r * $c;
 return ($miles ? ($km * 0.621371192) : $km);
}

希望本文所述对大家的php程序设计有所帮助。

相关文章

PHP操作Memcache实例介绍

PHP操作Memcache实例介绍

b/s: 基于浏览器和服务器架构 web程序 c/s: QQ SVN client客户端+ 服务器简单的基于文本行的协议: redis memcache 区别: 都是存储数据的,memc...

PHP中预定义的6种接口介绍

PHP预定义了6个接口介绍如下: 1.Traversable遍历接口 呵呵!其实它不是一个在PHP中可以使用的接口,内部类才可使用,它有一个用途就是检测一个类是否可以遍历。 if($...

php生成图片缩略图功能示例

本文实例讲述了php生成图片缩略图功能。分享给大家供大家参考,具体如下: 完整代码如下(为方便阅读,代码使用http://tools.jb51.net/code/phpformat进行了...

php模块memcache和memcached区别分析

1.目前大多数php环境里使用的都是不带d的memcache版本,这个版本出的比较早,是一个原生版本,完全在php框架内开发的。与之对应的带d的memcached是建立在libmemca...

php求圆周率的简单实现方法 原创

本文实例讲述了php求圆周率的简单实现方法。分享给大家供大家参考,具体如下: 前面一篇《C语言求圆周率》给出了一个圆周率的简单计算方法,这里借鉴前面的代码给出php求圆周率的运算方法。具...