坐标转换

 1 /**
 2      * 中国正常GCJ02坐标---->百度地图BD09坐标
 3      * 腾讯地图用的也是GCJ02坐标
 4      * @param double $lat 纬度
 5      * @param double $lng 经度
 6      */
 7     function Convert_GCJ02_To_BD09($lat,$lng){
 8         $x_pi = 3.14159265358979324 * 3000.0 / 180.0;
 9         $x = $lng;
10         $y = $lat;
11         $z =sqrt($x * $x + $y * $y) + 0.00002 * sin($y * $x_pi);
12         $theta = atan2($y, $x) + 0.000003 * cos($x * $x_pi);
13         $lng = $z * cos($theta) + 0.0065;
14         $lat = $z * sin($theta) + 0.006;
15         return array('lng'=>round($lng,6),'lat'=>round($lat,6));
16     }
 1 /**
 2      * 百度地图BD09坐标---->中国正常GCJ02坐标
 3      * 腾讯地图用的也是GCJ02坐标
 4      * @param double $lat 纬度
 5      * @param double $lng 经度
 6      * @return array();
 7      */
 8     function Convert_BD09_To_GCJ02($lat,$lng){
 9         $x_pi = 3.14159265358979324 * 3000.0 / 180.0;
10         $x = $lng - 0.0065;
11         $y = $lat - 0.006;
12         $z = sqrt($x * $x + $y * $y) - 0.00002 * sin($y * $x_pi);
13         $theta = atan2($y, $x) - 0.000003 * cos($x * $x_pi);
14         $lng = $z * cos($theta);
15         $lat = $z * sin($theta);
16         return array('lng'=>round($lng,6),'lat'=>round($lat,6));
17     }

 

posted @ 2021-11-23 13:45  我是叮当啊  阅读(59)  评论(0编辑  收藏  举报