利用经纬度计算两点间的距离

mac2024-03-10  15

public function getDiscount(){ $r = 6378.137; // 地球半径 $radLat1 = $this->rad($locallat);//当前纬度 $radLat2 = $this->rad($v['latitude']);//加油站纬度 $lat = $radLat1 - $radLat2; $long = $this->rad($locallng) - $this->rad($v['longitude']); $s = 2 * asin(sqrt(pow(sin($lat/2), 2) + cos($radLat1)*cos($radLat2)*pow(sin($long/2), 2))); $s = $s * $r; $distance=round($s * 10) / 10; if($distance<1){ $distanceMeter=$distance*1000; $list[$k]['distance']=$distanceMeter.'米'; }else{ $list[$k]['distance']=$distance.'公里'; } } function rad($d, $pi = 3.14) { return $d * $pi / 180.0; }
最新回复(0)