百度地图 api php thinkhp,TP5调用百度地图接口进行开发

进入百度地图开放平台,创建应用:服务端,生成AK码,复制。

在extend目录下创建一个Map.php,代码如下:

/**

* 百度地图相关业务封装

*/

class Map{

//根据地址获取经纬度

public static function getLngLat($address){

// http://api.map.baidu.com/geocoder/v2/?address=北京市海淀区上地十街10号&output=json&ak=您的ak&callback=showLocation //GET请求

$data=[

'address'=>$address,

'ak'=>config('map.ak'),

'output'=>'json',

];

//转化为网址形式

$url=config('map.baidumap_url').config('map.geocoder').'?'.http_build_query($data);

$res=doCurl($url);

return $res;

}

//根据经纬度或者地址获取百度地图

public static function staticimage($center){

if (!$center){

return '';

}

//http://api.map.baidu.com/staticimage/v2?ak=

$data=[

'ak'=>config('map.ak'),

'width'=>config('map.width'),

'height' =>config('map.height'),

'center' =>$center,

'markers' =>$center,

];

$url=config('map.baidumap_url').config('map.staticimage').'?'.http_build_query($data);

$res=doCurl($url);

return $res;

}

}

接着在extra目录下创建一个map.php文件,代码如下:

/**

* 地图相关配置文件

*/

return [

'ak'=>'EglSDP3UNYtT2GsjGsoBFrHYBfixPrDv',

'baidumap_url'=>'http://api.map.baidu.com/',

'geocoder'=>'geocoder/v2/',

'staticimage' =>'staticimage/v2',

'width' =>400,

'height' =>300,

];

分别为封装文件和配置文件,接着在common.php中加入以下代码:

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){

//post

curl_setopt($ch,CURLOPT_PORT,1);

curl_setopt($ch,CURLOPT_POSTFIELDS,$data);

}

//执行获取内容

$output=curl_exec($ch);

//释放curl句柄

curl_close($ch);

return $output;

}

最后在想要测试的页面的控制器加入以下代码:

public function test(){

print_r(\Map::getLngLat('地址'));

}

public function map(){

return \Map::staticimage('地址');

}

通过输入地址可以得到经纬度和详细地图。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值