百度地图和 腾讯、高德 地图,获取经纬度的算法不一样,下面是百度地图获取经纬度转化为腾讯地图可用经纬度的算法,(实际测试,转换后还存在一定的偏差)
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 ]; }