天天看点

用百度地图API获取的经纬度信息计算两点距离(Mysql函数)

CREATE FUNCTION getDistance(lng1 DOUBLE,lat1 DOUBLE,lng2 DOUBLE,lat2 DOUBLE) RETURNS DOUBLE
BEGIN

       DECLARE lat1_ double;
			 DECLARE lat2_ double;
       DECLARE lng1_ double;
       DECLARE lng2_ double;
			DECLARE distance double;
			 DECLARE  R  INT;
			set R=6371;

			
       set lat1_ = (PI()/ 180) * lat1;
       set lat2_ = (PI() / 180) * lat2;

        set lng1_ = (PI() / 180) * lng1;
        set lng2_ = (PI() / 180) * lng2;
        
			set distance=ACOS(SIN(lat1_)*SIN(lat2_)+COS(lat1_)*COS(lat2_)*COS(lng2_-lng1_))*R*1000;
      RETURN distance;

end
           

继续阅读