CREATE DEFINER=`root`@`localhost` PROCEDURE `getTwoLonLat`(IN `v_lon` varchar(50),IN `v_lat` varchar(50),IN `dis` double,OUT `lon1` varchar(50),OUT `lon2` varchar(50),OUT `lat1` varchar(50),OUT `lat2` varchar(50))
BEGIN
#IN `lon` varchar(50),IN `lat` varchar(50),IN `distance` double,OUT `lon1` varchar(50),OUT `lon2` varchar(50),OUT `lat1` varchar(50),OUT `lat2` varchar(50)
DECLARE r double;
DECLARE dlng double;
DECLARE dlat double;
set r=6731;
set dis=dis/1000;
set dlng=2*asin(sin(dis/(2*r))/cos(v_lat*PI()/180));
set dlng=dlng *180/PI();
set dlat=dis/r;
set dlat=dlat*180/pi();
#返回值
set lat1=v_lat-dlat;
set lat2=v_lat+dlat;
set lon1=v_lon-dlng;
set lon2=v_lon+dlng;
END
BEGIN
#IN `lon` varchar(50),IN `lat` varchar(50),IN `distance` double,OUT `lon1` varchar(50),OUT `lon2` varchar(50),OUT `lat1` varchar(50),OUT `lat2` varchar(50)
DECLARE r double;
DECLARE dlng double;
DECLARE dlat double;
set r=6731;
set dis=dis/1000;
set dlng=2*asin(sin(dis/(2*r))/cos(v_lat*PI()/180));
set dlng=dlng *180/PI();
set dlat=dis/r;
set dlat=dlat*180/pi();
#返回值
set lat1=v_lat-dlat;
set lat2=v_lat+dlat;
set lon1=v_lon-dlng;
set lon2=v_lon+dlng;
END