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

yipeiwu_com7年前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简单装饰器模式实现与用法示例

本文实例讲述了PHP简单装饰器模式实现与用法。分享给大家供大家参考,具体如下: <?php //装饰器模式-在不改变原有类的结构上,对类的功能那个作补充 //武器基类...

php中chdir()函数用法实例

本文实例讲述了php中chdir()函数的用法。分享给大家供大家参考。具体用法分析如下: php chdir() 函数语法:bool切换目录(字符串目录)dirDirectory改变to...

Smarty3配置及入门语法

Smarty3配置及入门语法

一.Smarty3配置 下载Smarty文件 在Smarty的官方网站下载Smarty文件,解压下载到的Smarty文件,Smarty的库文件就在libs文件夹中。 我使用的PHP调试环...

Array of country list in PHP with Zend Framework

复制代码 代码如下: public static function countryList($local) { $locale = new Zend_Locale('en_US'); $...

生成卡号php代码

复制代码 代码如下:<?php     $a=1; //开始     $b=2; ...