PHP计算2点经纬度之间的距离代码

2015-01-24信息快讯网

以下是对PHP计算2点经纬度之间的距离代码进行了分析介绍,需要的朋友可以过来参考下

function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2) {
    $theta = $longitude1 - $longitude2;
    $miles = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta)));
    $miles = acos($miles);
    $miles = rad2deg($miles);
    $miles = $miles * 60 * 1.1515;
    $feet = $miles * 5280;
    $yards = $feet / 3;
    $kilometers = $miles * 1.609344;
    $meters = $kilometers * 1000;
    return compact('miles','feet','yards','kilometers','meters'); 
}

$point1 = array('lat' => 40.770623, 'long' => -73.964367);
$point2 = array('lat' => 40.758224, 'long' => -73.917404);
$distance = getDistanceBetweenPointsNew($point1['lat'], $point1['long'], $point2['lat'], $point2['long']);
foreach ($distance as $unit => $value) {
    echo $unit.': '.number_format($value,4).'<br />';
}

The example returns the following:

miles: 2.6025
feet: 13,741.4350
yards: 4,580.4783
kilometers: 4.1884
meters: 4,188.3894
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
yii框架builder、update、delete使用方法
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
PHP include任意文件或URL介绍
smarty模板中使用get、post、request、cookies、session变量的方法
通过curl模拟post和get方式提交的表单类
phpmailer中文乱码问题的解决方法
CodeIgniter框架提示Disallowed Key Characters的解决办法
codeigniter中测试通过的分页类示例
PHP检测移动设备类mobile detection使用实例
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
使用PHP生成二维码的两种方法(带logo图像)
php自动加载autoload机制示例分享
php中simplexml_load_string使用实例分享
PHP实现把数字ID转字母ID
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
浅析PHP原理之变量(Variables inside PHP)
解析isset与is_null的区别
php中用socket模拟http中post或者get提交数据的示例代码
PHP中fwrite与file_put_contents性能测试代码
浅析PHP Socket技术
请离开include_once和require_once
解析PHP中的unset究竟会不会释放内存
实测在class的function中include的文件中非php的global全局环境
php的$_FILES的临时储存文件与回收机制实测过程
解析PHP中$_FILES的使用以及注意事项
如何解决CI框架的Disallowed Key Characters错误提示
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
file_get_contents("php://input", "r")实例介绍
浅析PHP中的UNICODE 编码与解码
浅析HTTP消息头网页缓存控制以及header常用指令介绍
解析php如何将日志写进syslog
解析file_get_contents模仿浏览器头(user_agent)获取数据
php连接函数implode与分割explode的深入解析
PHP 实现explort() 功能的详解
©2014-2024 dbsqp.com