wgs84 转百度经纬度坐标

/**
 * 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

 

  

posted @ 2019-11-10 11:40  php+人工智障  阅读(4958)  评论(0编辑  收藏  举报