当前位置:首页 > PHP教程 > php高级应用 > 列表

百度lbs云获取附近的商家位置例子

发布:smiling 来源: PHP粉丝网  添加日期:2018-10-28 19:56:40 浏览: 评论:0 

按地区搜索:

http://api.map.baidu.com/geosearch/v3/local?region=%E5%8E%A6%E9%97%A8&ak=pWiNP7mGeptewlpldEdv3Ur3&geotable_id=*****

按位置中心点搜索(距离中心位置1800米):

http://api.map.baidu.com/geosearch/v3/nearby?ak=pWiNP7mGeptewlpldEdv3Ur3&geotable_id=***&location=118.145572,24.49264&radius=1800

程序代码如下:

首先要把数据录入到百度云数据库

用接口提交位置信息,坐标经纬度到百度lbs云数据库。

百度提供可视化的LBS云数据库管理:

http://lbsyun.baidu.com/datamanager/datamanage

已下是我写的一个提交数据接口:

这里是提交或更新一个lbs数据。

  1. function ptolbs($data,$lbsid){   
  2. if($lbsid<=0){ 
  3.     $purl = 'http://api.map.baidu.com/geodata/v3/poi/create'
  4. }else
  5.     $data['id']=$lbsid
  6.     $purl = "http://api.map.baidu.com/geodata/v3/poi/update"
  7.       
  8.     $data['ak']="pWiNP7mGeptewlpldEdv3Ur3"
  9.     $data['geotable_id']="***";//你的数据库ID     
  10.     $data['coord_type']="3"
  11.     $re = curlpost($purl,$data); 
  12.     $re = json_decode($re,true); 
  13.     if($re["status"]==0){ 
  14.         $lbsid =$re['id'];  
  15.     }else
  16.         $lbsid = -1; 
  17.     } 
  18.     return  $lbsid
  19.    
  20.  
  21. function curlpost($c_url,$data
  22.     $curl = curl_init(); // 启动一个CURL会话 
  23.     curl_setopt($curl, CURLOPT_URL, $c_url); // 要访问的地址 
  24.     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查 
  25.     curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在 
  26.     curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器 
  27.    // curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转 
  28.     curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer 
  29.     curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求 
  30.     curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包 
  31.     curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环 
  32.     curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容 
  33.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回 
  34.     $tmpInfo = curl_exec($curl); // 执行操作 
  35.     if (curl_errno($curl)) { 
  36.        echo 'Errno'.curl_error($curl);//捕抓异常 
  37.     } //phpfensi.com 
  38.     curl_close($curl); // 关闭CURL会话 
  39.     return $tmpInfo// 返回数据 

原理很简单就是通过我们申请的key 带在curl中post给百度api,然后百度返回查询对应的坐标与数据给我们。

Tags: 百度lbs php商家位置

分享到: