PHP 百度地图地理编码地址解析API

/**
 * 百度地图地址解析
 * @param string $address 地址
 * @param string $ak 百度开放平台key
 * @param string $ret_coordtype gcj02ll(国测局坐标)bd09mc(百度墨卡托坐标)bd09ll(百度经纬度坐标)
 * */
function adddresToCoordinates($address,$ak,$ret_coordtype='gcj02ll')
{
    $url='https://api.map.baidu.com/geocoding/v3/?address='.$address.'&output=json&ak='.$ak.'&callback=showLocation&ret_coordtype='.$ret_coordtype;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HEADER,0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
    $output = curl_exec($ch);
    curl_close($ch);
    $output=substr(substr($output,strpos($output,'('),strrpos($output,')')),1,-1);
    $output=json_decode($output, true);
    return $output;
}

调用方法

public function toToCoordinates(){
        $Coordinates=adddresToCoordinates('河北省石家庄市裕华区方村镇方兴路88号河北化工医药职业技术学院宿舍楼','keyxxxxxx');
        if ($Coordinates['status']==0){
            $lng=$Coordinates['result']['location']['lng'];
            $lat=$Coordinates['result']['location']['lat'];
            echo json_encode(['code'=>200,'msg'=>'获取成功!','data'=>['lng'=>$lng,'lat'=>$lat]]);
            exit;
        }else{
            echo json_encode(['code'=>202,'msg'=>'获取失败!']);
            exit;
        }
    }

返回结果

{"code":200,"msg":"\u83b7\u53d6\u6210\u529f\uff01","data":{"lng":114.60333972446658,"lat":37.989505231245545}}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值