网站首页 | 公司介绍 | 服务项目 | 作品展示 | 联系方式

首页 >> 设计技巧设计技巧
php中实现两个经纬度直接距离的计算
  1. class GeoHelper   
  2. {   
  3.     CONST EARTH_RADIUS = 6378137; // m   
  4.        
  5.     private static function getRadian($d)   
  6.     {   
  7.         return $d * M_PI / 180;   
  8.     }   
  9.        
  10.     public static function getDistince ($lat1$lng1$lat2$lng2)   
  11.     {   
  12.         $lat1 = self::getRadian($lat1);   
  13.         $lat2 = self::getRadian($lat2);   
  14.            
  15.         $a = $lat1 - $lat2;   
  16.         $b = self::getRadian($lng1) - self::getRadian($lng2);   
  17.            
  18.         $v = 2 * asin(sqrt(pow(sin($a/2),2) +   
  19.         cos($lat1) * cos($lat2) * pow(sin($b/2),2)));   
  20.            
  21.         $v = round(self::EARTH_RADIUS * $v * 10000) / 10000;   
  22.            
  23.         return $v;   
  24.     }   
  25. }  
版权所有 © 2010-2012 廊坊易路设计公司 冀ICP备09040021号地址:廊坊市建国道东方新天地427室 邮箱:quanmiao@yahoo.cn