百度地图和 腾讯、高德 地图,获取经纬度的算法不一样,下面是百度地图获取经纬度转化为腾讯地图可用经纬度的算法,(实际测试,转换后还存在一定的偏差)
private function baidu2qqMap($longi, $lati) {
if ($longi== '' || $lati== ''){
return false;
}
$x_pi = 3.14159265358979324 * 3000.0 / 180.0;
$x = $longi- 0.0065;
$y = $lati- 0.006;
$z = sqrt($x * $x + $y * $y) - 0.00002 * sin($y * $x_pi);
$theta = atan2($y, $x) - 0.000003 * cos($x * $x_pi);
$qqlongi = $z * cos($theta);
$qqlati = $z * sin($theta);
return [
"longi"=>$qqlongi,
"lati"=>$qqlati
];
}