/** * wgs84 转百度地图坐标 * @param $lng * @param $lat * @return array */ function toBaiduLocation($lng,$lat){ $ak = 'nljzQ7WZULfz4GXA6biVFlbkGwvQvueN'; $url = 'https://api.map.baidu.com/geoconv/v1/?coords='.$lng.','.$lat.'&from=1&to=5&ak='.$ak; $result = httpGet($url); $json = json_decode($result,true); if($json['status'] == 0 && isset($json['result'][0])){ $res = $json['result'][0]; return ['lng'=>$res['x'],'lat'=>$res['y']]; } return ['lng'=>$lng,'lat'=>$lat]; } function httpGet($url) { $curl = curl_init(); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_TIMEOUT, 500); // 为保证第三方服务器与微信服务器之间数据传输的安全性,所有微信接口采用https方式调用,必须使用下面2行代码打开ssl安全校验。 // 如果在部署过程中代码在此处验证失败,请到 http://curl.haxx.se/ca/cacert.pem 下载新的证书判别文件。 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_URL, $url); $res = curl_exec($curl); curl_close($curl); return $res; } $res = toBaiduLocation(102.7449617,24.983720); print_r($res);
1、使用百度接口进行转换
百度文档 http://lbsyun.baidu.com/index.php?title=webapi/guide/changeposition
ak自己在百度开放平台申请
http://lbsyun.baidu.com/apiconsole/key