接口地址:http://api.map.baidu.com/place/v2/search |
---|
返回格式:json/xml |
请求方式:get |
请求示例:http://api.map.baidu.com/place/v2/search?query=银行&bounds=39.915,116.404,39.975,116.414&ak={您的密钥} |
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
ak | string | 必填 | 开发者的访问密钥 扫码关注公众号 |
query | string | 必填 | 检索关键字,圆形区域检索和矩形区域内检索支持多个关键字并集检索,不同关键字间以$符号分隔,最多支持10个关键字检索 |
bounds | string | 必填 | 检索矩形区域,多组坐标间以","分隔 |
tag | string | 选填 | 检索分类偏好,与q组合进行检索,多个分类以","分隔POI分类 |
radius | string | 选填 | 圆形区域检索半径,单位为米 |
output | string | 选填 | 输出格式为json或者xml |
scope | string | 选填 | 检索结果详细程度。取值为1 或空,则返回基本信息;取值为2,返回检索POI详细信息 |
filter | string | 选填 | 检索过滤条件 |
coord_type | int | 选填 | 坐标类型,1(wgs84ll即GPS经纬度),2(gcj02ll即国测局经纬度坐标),3(bd09ll即百度经纬度坐标),4(bd09mc即百度米制坐标) |
ret_coordtype | string | 选填 | 添加后POI返回国测局经纬度坐标 |
page_size | int | 选填 | 单次召回POI数量,默认为10条记录,最大返回20条。多关键字检索时,返回的记录数为关键字个数*page_size |
page_num | int | 选填 | 分页页码,默认为0,0代表第一页,1代表第二页,以此类推。 |
sn | string | 选填 | 开发者的权限签名 |
timestamp | string | 选填 | 设置sn后该值必填 |
名称 | 类型 | 说明 |
---|---|---|
status | int | 本次API访问状态,如果成功返回0,如果失败返回其他数字 |
message | string | 对API访问状态值的英文说明,如果成功返回"ok",并返回结果字段,如果失败返回错误说明 |
total | int | POI检索总数,开发者请求中设置了page_num字段才会出现total字段。出于数据保护目的,单次请求total最多为400 |
name | string | poi名称 |
location | object | poi经纬度坐标 |
lat | float | 纬度值 |
lng | float | 经度值 |
address | string | poi地址信息 |
province | string | 所属省份 |
city | string | 所属城市 |
area | string | 所属区县 |
telephone | string | poi电话信息 |
uid | string | poi的唯一标示,可用于详情检索 |
street_id | string | 街景图id |
detail | string | 是否有详情页:1有,0没有 |
detail_info | object | poi的扩展信息,仅当scope=2时,显示该字段,不同的poi类型,显示的detail_info字段不同。 |
distance | int | 距离中心点的距离,圆形区域检索时返回 |
type | string | 所属分类,如’hotel’、’cater’。 |
tag | string | 标签 |
navi_location | string | POI对应的导航引导点坐标。大型面状POI的导航引导点,一般为各类出入口,方便结合导航、路线规划等服务使用 |
lng | float | 导航引导点经度 |
lat | float | 导航引导点纬度 |
alias | string | poi别名 |
detail_url | string | poi的详情页 |
children | string | poi子点数据,若某poi无子点,该字段为空 |
uid | string | poi子点的唯一标示,可用于详情检索 |
name | string | poi子点名称 |
show_name | string | poi子点简要名称 |
tag | string | poi子点类别 |
location | string | poi子点坐标 |
lat | float | poi子点纬度 |
lng | float | poi子点经度 |
address | string | poi子点地址 |
price | string | poi商户的价格 |
shop_hours | string | 营业时间 |
overall_rating | string | 总体评分 |
taste_rating | string | 口味评分 |
service_rating | string | 服务评分 |
environment_rating | string | 环境评分 |
facility_rating | string | 星级(设备)评分 |
hygiene_rating | string | 卫生评分 |
technology_rating | string | 技术评分 |
image_num | string | 图片数 |
groupon_num | int | 团购数 |
discount_num | int | 优惠数 |
comment_num | string | 评论数 |
favorite_num | string | 收藏数 |
checkin_num | string | 签到数 |
brand | string | poi对应的品牌(如加油站中的『中石油』、『中石化』) |
content_tag | string | poi标签信息 |
{
"status": 0,
"message": "ok",
"results": [{
"name": "中国民生银行(安定门支行)",
"location": {
"lat": 39.971315,
"lng": 116.413576
},
"address": "北京市朝阳区安定门外大街1号",
"province": "北京市",
"city": "北京市",
"area": "朝阳区",
"street_id": "53cebd509fbca9612a02e14c",
"telephone": "(010)58295666",
"detail": 1,
"uid": "53cebd509fbca9612a02e14c"
},
{
"name": "北京银行(中轴路支行)",
"location": {
"lat": 39.957382,
"lng": 116.404191
},
"address": "北京市东城区安德路16号(洲际大厦首层)",
"province": "北京市",
"city": "北京市",
"area": "东城区",
"street_id": "33ddf832c2d7244952e5c51e",
"telephone": "95526",
"detail": 1,
"uid": "33ddf832c2d7244952e5c51e"
},
{
"name": "交通银行(北京和平里支行)",
"location": {
"lat": 39.968787,
"lng": 116.410049
},
"address": "北京市朝阳区外馆东街51号",
"province": "北京市",
"city": "北京市",
"area": "朝阳区",
"street_id": "e56bf5e3064b7b440782c2ff",
"telephone": "(010)64408115",
"detail": 1,
"uid": "e56bf5e3064b7b440782c2ff"
},
{
"name": "中国进出口银行(北京分行)",
"location": {
"lat": 39.934898,
"lng": 116.411758
},
"address": "北京市东城区北河沿大街77号",
"province": "北京市",
"city": "北京市",
"area": "东城区",
"street_id": "6334ddeb6a99710bfea77863",
"telephone": "(010)64099688",
"detail": 1,
"uid": "6334ddeb6a99710bfea77863"
},
{
"name": "中国工商银行(北京地坛支行)",
"location": {
"lat": 39.966786,
"lng": 116.413857
},
"address": "安定门外大街9号",
"province": "北京市",
"city": "北京市",
"area": "东城区",
"street_id": "50f7d1461f0208c472210bff",
"telephone": "(010)84122100",
"detail": 1,
"uid": "50f7d1461f0208c472210bff"
},
{
"name": "北京银行(沙滩支行)",
"location": {
"lat": 39.929203,
"lng": 116.412428
},
"address": "北京市东城区北河沿大街95号6层97号一层",
"province": "北京市",
"city": "北京市",
"area": "东城区",
"street_id": "9ca676f2a814373a43e19275",
"telephone": "(010)65220219",
"detail": 1,
"uid": "9ca676f2a814373a43e19275"
},
{
"name": "中国银行(安定门外支行)",
"location": {
"lat": 39.958051,
"lng": 116.413457
},
"address": "北京市东城区安定门外大街191号",
"province": "北京市",
"city": "北京市",
"area": "东城区",
"street_id": "f4460918f2b3296ab11e36ff",
"telephone": "(010)64400221",
"detail": 1,
"uid": "f4460918f2b3296ab11e36ff"
},
{
"name": "中国工商银行(北京和平里支行安德公路储蓄所)",
"location": {
"lat": 39.958072,
"lng": 116.407072
},
"address": "北京市东城区安德路47-5号",
"province": "北京市",
"city": "北京市",
"area": "东城区",
"street_id": "cc788fde07292f8a88fc06ff",
"telephone": "(010)84124439,(010)84124438",
"detail": 1,
"uid": "cc788fde07292f8a88fc06ff"
},
{
"name": "中国工商银行(北京东华门支行)",
"location": {
"lat": 39.921373,
"lng": 116.411402
},
"address": "东华门大街20号",
"province": "北京市",
"city": "北京市",
"area": "东城区",
"street_id": "dbf4d6eee23caa546ea3cc87",
"telephone": "(010)65125921",
"detail": 1,
"uid": "dbf4d6eee23caa546ea3cc87"
},
{
"name": "中国工商银行(北京和平北路东口支行)",
"location": {
"lat": 39.968629,
"lng": 116.410245
},
"address": "北京市朝阳区外馆东街51号凯景铭座一层",
"province": "北京市",
"city": "北京市",
"area": "朝阳区",
"telephone": "(010)84123118",
"detail": 1,
"uid": "4482d48423f9a3b33fe23125"
}
]
}
错误码 | 说明 |
---|---|
0 | 服务请求正常召回 |
1 | 服务器内部错误 |
2 | 请求参数非法 |
3 | 权限校验失败 |
4 | 配额校验失败 |
5 | ak不存在或者非法 |
102 | 不通过白名单或者安全码不对 |
2xx | 无权限 |
3xx | 配额错误 |
<?php
/**
* Created by PhpStorm.
* User: FZS
* Time: 2019/9/3 23:10
*/
//----------------------------------
// 矩形区域检索 调用类
//----------------------------------
class freeApi{
private $ak;
private $apiUrl;
public function __construct($ak){
$this->ak = $ak;
$this->apiUrl = 'http://api.map.baidu.com/place/v2/search?query=银行&bounds=39.915,116.404,39.975,116.414&output=json&ak='.$this->ak;
}
/**
* 获取结果
* @return array
*/
public function getResult(){
return $this->freeApiCurl($this->apiUrl);
}
/**
* 请求接口返回内容
* @param string $url [请求的URL地址]
* @param string $params [请求的参数]
* @param int $ipost [是否采用POST形式]
* @return string
*/
public function freeApiCurl($url,$params=false,$ispost=0){
$ch = curl_init();
curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
curl_setopt( $ch, CURLOPT_USERAGENT , 'free-api' );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
if( $ispost )
{
curl_setopt( $ch , CURLOPT_POST , true );
curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
curl_setopt( $ch , CURLOPT_URL , $url );
}
else
{
if($params){
curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
}else{
curl_setopt( $ch , CURLOPT_URL , $url);
}
}
$response = curl_exec( $ch );
if ($response === FALSE) {
return false;
}
curl_close( $ch );
return $response;
}
}