接口地址: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 , '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;
}
}