Heim >Backend-Entwicklung >PHP-Tutorial >PHP下的经纬度求距离

PHP下的经纬度求距离

WBOY
WBOYOriginal
2016-06-20 12:47:07815Durchsuche

/***  @desc 根据两点间的经纬度计算距离*  @param float $lat 纬度值*  @param float $lng 经度值*/ function getDistance($lat1, $lng1, $lat2, $lng2) {     $earthRadius = 6367000; //approximate radius of earth in meters      /*       Convert these degrees to radians       to work with the formula     */      $lat1 = ($lat1 * pi() ) / 180;     $lng1 = ($lng1 * pi() ) / 180;      $lat2 = ($lat2 * pi() ) / 180;     $lng2 = ($lng2 * pi() ) / 180;      /*       Using the       Haversine formula       http://en.wikipedia.org/wiki/Haversine_formula       calculate the distance     */      $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); }


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn