美文网首页
TP5使用百度API

TP5使用百度API

作者: 任人渐疏_Must | 来源:发表于2020-04-07 16:32 被阅读0次
class Map{
  //可以获取经纬度
    public static function getLngLat($address){
//   百度地图地理编码API     "http://api.map.baidu.com/geocoding/v3/?address=北京市海淀区上地十街10号&output=json&ak=您的ak&callback=showLocation 
        if(!$address){
            return '';
        }
    $data = [
      'address'=>$address,
      'ak'=>config('map.ak'),
       'output'=>'json',
    ];
    $url=config('map.baidu_map_url').config('map.geocoding').'?'.http_build_query($data);
        //$res = file_get_contents($url); 通过这个方法也能读取url的内容
   return  $res=doCurl($url);
    }

/**
     * 根据经纬度或者地址获取地图
     */
    public static function staticImage($center){
        if(!$center){
            return '';
        }
        $data = [
            'width'=>config('map.width'),
            'height' =>config('map.height'),
            'ak'=>config('map.ak'),
            'center' =>$center,
            'markers'=>$center,
        ];
        $url=config('map.baidu_map_url').config('map.staticimage').'?'.http_build_query($data);
        //$res = file_get_contents($url); 通过这个方法也能读取url的内容
      return   $res=doCurl($url);

    }


}

配置文件

return [
    'ak'=>'Nm7A28So1*******ndkKCducME0n0nVr',
    'baidu_map_url'=>'http://api.map.baidu.com/',
    'geocoding'=>'geocoding/v3/',
    'width' => 400,
    'height' => 300,
    'staticimage'=>'staticimage/v2'
];

封装CURL的方法,用来读取url的内容

/**
 * @param $url
 * @param int $type get 0;post 1
 * @param array $data
 */
function doCurl($url,$type=0,$data=[]){
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch,CURLOPT_HEADER,0);
    if($type == 1){
        curl_setopt($ch,CURLOPT_PORT,1);
        curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
    }
    //执行并获取内容
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;

相关文章

网友评论

      本文标题:TP5使用百度API

      本文链接:https://www.haomeiwen.com/subject/cfyhjhtx.html