<?PHP
//GCJ02 转百度坐标
function transformGCJ02ToBD09($lng,$lat) {
$x_PI = 3.14159265358979324 * 3000.0 / 180.0;
$PI = 3.1415926535897932384626;
$a = 6378245.0;
$ee = 0.00669342162296594323;
$z = sqrt($lng * $lng + $lat * $lat) + 0.00002 * sin($lat * $x_PI);
$theta = atan2($lat, $lng) + 0.000003 * cos($lng * $x_PI);
$bd_lng = $z * cos($theta) + 0.0065;
$bd_lat = $z * sin($theta) + 0.006;
return array($bd_lng,$bd_lat);//输入经纬度
}
var_dump(transformGCJ02ToBD09($lng,$lat));
//百度坐标(BD09)转 GCJ02
function transformBD09ToGCJ02($lng,$lat) {
$x_PI = 3.14159265358979324 * 3000.0 / 180.0;
$PI = 3.1415926535897932384626;
$a = 6378245.0;
$ee = 0.00669342162296594323;
$x = $lng - 0.0065;
$y = $lat - 0.006;
$z = sqrt($x * $x + $y * $y) - 0.00002 * sin($y * $x_PI);
$theta = atan2($y, $x) - 0.000003 * cos($x * $x_PI);
$gcj_lng = $z * cos($theta);
$gcj_lat = $z * sin($theta);
return array($gcj_lng, $gcj_lat);
}
var_dump(transformBD09ToGCJ02($lng,$lat));//输入经纬度在这里插入代码片
02-12
1万+