根据经纬度计算两点间的距离

来源:互联网 发布:域名注册商排名 编辑:程序博客网 时间:2024/05/09 11:17

/** * 根据两点间的经纬度计算距离     * @param float $lat1 纬度值1     * @param float $lng1 经度值1     * @param float $lat2 纬度值2     * @param float $lng2 经度值2     * @return 距离km     */ private static function _getDistance($lat1, $lng1, $lat2, $lng2) {     $earthRadius = 6367000;     $lat1 = ($lat1 * pi() ) / 180;     $lng1 = ($lng1 * pi() ) / 180;     $lat2 = ($lat2 * pi() ) / 180;     $lng2 = ($lng2 * pi() ) / 180;     $calcLongitude = $lng2 - $lng1;     $calcLatitude = $lat2 - $lat1;     $stepOne = pow(sin($calcLatitude / 2), 2) + cos($lat1) * cos($lat2) * pow(sin($calcLongitude / 2), 2);     $stepTwo = 2 * asin(min(1, sqrt($stepOne)));     $calculatedDistance = $earthRadius * $stepTwo;     return round($calculatedDistance) / 1000; }


0 0
原创粉丝点击