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

作者:袖梨 2022-06-24


按地区搜索:
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数据。
function ptolbs($data,$lbsid){ 
if($lbsid<=0){
    $purl = 'http://api.map.baidu.com/geodata/v3/poi/create';
}else{
    $data['id']=$lbsid;
    $purl = "http://api.map.baidu.com/geodata/v3/poi/update";
}
    
    $data['ak']="pWiNP7mGeptewlpldEdv3Ur3";
    $data['geotable_id']="***";//你的数据库ID   
    $data['coord_type']="3";
    $re = curlpost($purl,$data);
    $re = json_decode($re,true);
    if($re["status"]==0){
        $lbsid =$re['id'];
    }else{
        $lbsid = -1;
    }
    return  $lbsid;
}
 
 
function curlpost($c_url,$data)
{
    $curl = curl_init(); // 启动一个CURL会话
    curl_setopt($curl, CURLOPT_URL, $c_url); // 要访问的地址
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
    curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
   // curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
    curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
    curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
    curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
    curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
    $tmpInfo = curl_exec($curl); // 执行操作
    if (curl_errno($curl)) {
       echo 'Errno'.curl_error($curl);//捕抓异常
    }
    curl_close($curl); // 关闭CURL会话
    return $tmpInfo; // 返回数据
}

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

相关文章

精彩推荐