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检查字符串中是否有外链的方法。分享给大家供大家参考。具体实现方法如下: /** * is_external_link 检测字符串是否包含外链 * @param...

php SQLite学习笔记与常见问题分析第1/2页

直到学会! 学之前找资料 SQLite的sql ATTACH DATABASE BEGIN TRANSACTION comment COMMIT ...

PHP实现货币换算的方法

本文实例讲述了PHP实现货币换算的方法。分享给大家供大家参考。 具体实现代码如下: 复制代码 代码如下:<?php /* * File: CurrencyConvert...

PHP5 字符串处理函数大全

addcslashes — 为字符串里面的部分字符添加反斜线转义字符 addslashes — 用指定的方式对字符串里面的字符进行转义 bin2hex — 将二进制数据转换成十六进制表示...

php代码书写习惯优化小结

(1)使用 static 静态方法比普通方法快4倍(2)echo输出快于print(3)连接字符使用 , 代替 .(4)循环之前先取出最大值,而不是在循环里面取值  ...