| 接口地址:http://api.map.baidu.com/place/v2/search |
|---|
| 返回格式:json/xml |
| 请求方式:get |
| 请求示例:http://api.map.baidu.com/place/v2/search?query=银行&location=39,116&radius=2000&ak=您的密钥 |
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| ak | string | 必填 | 开发者的访问密钥 扫码关注公众号 |
| query | string | 必填 | 检索关键字,圆形区域检索和矩形区域内检索支持多个关键字并集检索,不同关键字间以$符号分隔,最多支持10个关键字检索 |
| location | string | 必填 | 圆形区域检索中心点,不支持多个点 |
| tag | string | 选填 | 检索分类偏好,与q组合进行检索,多个分类以","分隔POI分类 |
| radius | string | 选填 | 圆形区域检索半径,单位为米 |
| radius_limit | 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": "我们银行ATM(西交民巷)",
"location": {
"lat": 39.908251,
"lng": 116.400296
},
"address": "西交民巷甲19号",
"province": "北京市",
"city": "北京市",
"area": "西城区",
"street_id": "90f3c114c3f7fceb25d2bb1e",
"detail": 1,
"uid": "90f3c114c3f7fceb25d2bb1e"
},
{
"name": "我们银行24小时自助银行服务(东华门大街)",
"location": {
"lat": 39.921443,
"lng": 116.410409
},
"address": "北京市东城区东华门大街54号",
"province": "北京市",
"city": "北京市",
"area": "东城区",
"street_id": "d821e9337fec6b2597031941",
"detail": 1,
"uid": "d821e9337fec6b2597031941"
},
{
"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.921398,
"lng": 116.411576
},
"address": "北京市东城区东华门大街20号",
"province": "北京市",
"city": "北京市",
"area": "东城区",
"detail": 1,
"uid": "5555f7ca9e9fb0a23f9a5eee"
},
{
"name": "我们民生银行24小时自助银行(北京正义路支行)",
"location": {
"lat": 39.910084,
"lng": 116.413679
},
"address": "正义路甲3",
"province": "北京市",
"city": "北京市",
"area": "东城区",
"street_id": "56f2f6962315f3800aa8d4c9",
"detail": 1,
"uid": "56f2f6962315f3800aa8d4c9"
},
{
"name": "我们民生银行(正义路支行)",
"location": {
"lat": 39.909913,
"lng": 116.413661
},
"address": "北京市东城区正义路甲3号",
"province": "北京市",
"city": "北京市",
"area": "东城区",
"street_id": "d5101afd619d12c7f423100e",
"telephone": "(010)65262045",
"detail": 1,
"uid": "d5101afd619d12c7f423100e"
},
{
"name": "北京银行(前门支行)",
"location": {
"lat": 39.906018,
"lng": 116.401304
},
"address": "北京市西城区西大街正阳市场1号楼底商",
"province": "北京市",
"city": "北京市",
"area": "西城区",
"street_id": "be2d09340d0b5c0035b06c31",
"telephone": "(010)63048577",
"detail": 1,
"uid": "be2d09340d0b5c0035b06c31"
},
{
"name": "北京银行文化创客中心",
"location": {
"lat": 39.906005,
"lng": 116.401277
},
"address": "前门西大街正阳市场1号楼北京银行前门支行2层",
"province": "北京市",
"city": "北京市",
"area": "西城区",
"detail": 1,
"uid": "05b5f25c148d7985b64f543c"
},
{
"name": "北京银行24小时自助银行(前门支行)",
"location": {
"lat": 39.905998,
"lng": 116.400954
},
"address": "西城区前门西大街正阳市场1号",
"province": "北京市",
"city": "北京市",
"area": "西城区",
"street_id": "08f1f1f5a23b39ca88db73e6",
"detail": 1,
"uid": "08f1f1f5a23b39ca88db73e6"
},
{
"name": "我们工商银行24小时自助银行(北京正阳门支行)",
"location": {
"lat": 39.906493,
"lng": 116.409279
},
"address": "前门东大街16号",
"province": "北京市",
"city": "北京市",
"area": "东城区",
"detail": 1,
"uid": "e6c265d1a03a8955d813189e"
}
]
}| 错误码 | 说明 |
|---|---|
| 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=银行&location=39.915,116.404&radius=2000&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 , 'chuanshuoapi' );
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;
}
}