curl 模拟发起百度地图API post请求
2015-11-20 18:11
603 查看
注:开始做的是get请求,比较简单,然后又查询了一番就做成了post请求,有几个地方特别说明一下: 一,$address,是必须传的,$city可不传; 二,ak跟之前的key一直,需要申请,我的好像没申请直接网上找的用的; 三,如果你希望回调某个函数的话,$data 里面的callback可填你要填写的回调函数名,如果希望结果直接输出的则填null,(这里面坑了一下,因为没经验啊); 四,对json对象的处理,json_decode真的很强大,但是刚刚一直用print_r打印,结果返回的是带函数的参数,显示的是参数,用var_dump才发现原因,有点坑的, 五,output:控制输出格式,还有xml类型的,没试过,详情看文档去吧; 如果希望编译为数组则json_decoded(string, true);第二个参数默认是false的; 代码如下,亲测可用的; <code php> protected function _get_coordinate_by_name ($address, $city='') { $url = 'http://api.map.baidu.com/geocoder/v2/'; $data = array( 'ak' => 'E4805d16520de693a3fe707cdc962045', 'callback' => null, 'output' => 'json', 'address' => $address, 'city' => $city, ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER,0); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_REFERER, 'http://developer.baidu.com/map/index.php?title=webapi/guide/webservice-geocoding'); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $ret = curl_exec($ch); curl_close($ch); $ret = json_decode($ret, true); $_coord['lat'] = $ret['result']['location']['lat']; $_coord['lng'] = $ret['result']['location']['lng']; return $_coord; } </code> 注:http://developer.baidu.com/map/index.php?title=webapi/guide/webservice-geocoding
相关文章推荐
- Cocos2d-x 3.X里的坑(1)——标签菜单项MenuItemLabel和精灵菜单项MenuItemSprite回调不响应
- java 中的Scanner
- vm win2008r2 mysql cluster测试
- 14.2.3 InnoDB Multi-Versioning innoDB 多版本
- Github连接方式
- 怎样练习一万小时
- Java基础08 继承
- ”南大软院大神养成计划“_第五天的学习“
- Linux netstat命令详解
- hdoj A+B for Input-Output Practice (II)
- MongoDB基本命令用
- 综述iOS视图的frame、bounds、center、position、anchorPosition等与位置、大小有关的属性
- 过游戏保护驱动
- Android图片二进制与Bitmap、Drawable之间的转换
- hihocoder-1050 树中的最长路(dfs)
- iOS cell高度自适应_动态调节cell高度
- hdoj A+B for Input-Output Practice (I)
- kettle excel
- NOI2003 文本编辑器
- jQuery-AJAX load()方法