PHP根据经纬度计算两个点之间的直线距离 //单位为米 * lng1,lng2 经度 * lat1,lat2 纬度 * 距离,单位米 function getdistance($lng1, $lat1, $lng2, $lat2) { //deg2rad()函数将角度转换为弧度 $radLat1 = deg2rad($lat1); $radLat2 = deg2rad($lat2); $radLng1 = deg2rad($lng1); $radLng2 = deg2rad($lng2); $a = $radLat1 - $radLat2; $b = $radLng1 - $radLng2; //asin() 函数返回不同数值的反正弦,返回的结果是介于 -PI/2 与 PI/2 之间的弧度值。 //pow() 函数返回 x 的 y 次方。 //sin() 函数返回一个数的正弦。 //cos() 函数返回一个数的余弦。 $s = 2 * asin(sqrt(pow(sin($a / 2), 2) + cos($radLat1) * cos($radLat2) * pow(sin($b / 2), 2))) * 6378.137 * 1000; return $s; }
发表评论