按地区搜索:
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,然后百度返回查询对应的坐标与数据给我们。