【PHP原生】计算两个已知经纬度之间的距离

计算两个已知经纬度之间的距离

<?php
/**
* 求两个已知经纬度之间的距离,单位为km
* @param lat1,lat2 纬度
* @param lng1,lng2 经度
* @return float 距离,单位为km
**/
function getDistance($lat1, $lng1, $lat2, $lng2)
{
    //将角度转为狐度
    $radLat1 = deg2rad($lat1);
    //deg2rad()函数将角度转换为弧度
    $radLat2 = deg2rad($lat2);
    $radLng1 = deg2rad($lng1);
    $radLng2 = deg2rad($lng2);
    $a = $radLat1 - $radLat2;
    $b = $radLng1 - $radLng2;
    $s = 2 * asin(sqrt(pow(sin($a / 2), 2) + cos($radLat1) * cos($radLat2) * pow(sin($b / 2), 2))) * 6371;
    return round($s, 1);
}

 

 
posted @ 2018-10-16 10:00  PHPer_Cody  阅读(157)  评论(0编辑  收藏  举报