接口地址:http://api.map.baidu.com/place/v2/search |
---|
返回格式:json/xml |
请求方式:get |
请求示例:http://api.map.baidu.com/place/v2/search?query=ATM机&tag=银行®ion=北京&output=json&ak=您的ak |
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
ak | string | 必填 | 开发者的访问密钥 扫码关注公众号 |
query | string | 必填 | 检索关键字 |
region | string | 必填 | 检索行政区划区域(增加区域内数据召回权重,如需严格限制召回数据在区域内,请搭配使用city_limit参数),可输入行政区划名或对应code |
tag | string | 选填 | 检索分类偏好,与q组合进行检索,多个分类以","分隔POI分类 |
city_limit | string | 选填 | 区域数据召回限制,为true时,仅召回region对应区域内数据 |
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.872037,
"lng": 116.431758
},
"address": "方庄芳古园一区29号楼通润商务会馆B区首层",
"province": "北京市",
"city": "北京市",
"area": "丰台区",
"street_id": "9ee392b85e031a41bbbd63d3",
"telephone": "(010)87676770",
"detail": 1,
"uid": "9ee392b85e031a41bbbd63d3"
},
{
"name": "中国工商银行(北京运河迎宾支行)",
"location": {
"lat": 39.912176,
"lng": 116.683371
},
"address": "北京市通州区故城东路56号(西上园一区9、13号)",
"province": "北京市",
"city": "北京市",
"area": "通州区",
"street_id": "9f97b1c5bbdfab78b74f54a7",
"telephone": "(010)60562203",
"detail": 1,
"uid": "9f97b1c5bbdfab78b74f54a7"
},
{
"name": "中国建设银行24小时自助银行(北京龙锦支行)",
"location": {
"lat": 40.088242,
"lng": 116.355979
},
"address": "北京市昌平区回龙观镇龙锦苑六区14号楼1至2层1号",
"province": "北京市",
"city": "北京市",
"area": "昌平区",
"street_id": "ecf0962de0844dee45e27401",
"detail": 1,
"uid": "ecf0962de0844dee45e27401"
},
{
"name": "中国工商银行离行式自助服务区(北京分行望京支行郁金香花园)",
"location": {
"lat": 40.012801,
"lng": 116.57051
},
"address": "北京市朝阳区东苇路辅路",
"province": "北京市",
"city": "北京市",
"area": "朝阳区",
"street_id": "05d05ce756ad4e9cdb2f283c",
"detail": 1,
"uid": "05d05ce756ad4e9cdb2f283c"
},
{
"name": "招商银行ATM(朝阳大悦城)",
"location": {
"lat": 39.930403,
"lng": 116.524959
},
"address": "北京市朝阳区朝阳北路101号朝阳大悦城B1",
"province": "北京市",
"city": "北京市",
"area": "朝阳区",
"street_id": "e0d6078dbeadc0859ff7794a",
"detail": 1,
"uid": "e0d6078dbeadc0859ff7794a"
},
{
"name": "中国建设银行ATM(颐堤港)",
"location": {
"lat": 39.975347,
"lng": 116.497679
},
"address": "北京市朝阳区酒仙桥路18号颐堤港M",
"province": "北京市",
"city": "北京市",
"area": "朝阳区",
"street_id": "5343b9d1a8dc278b32870a71",
"detail": 1,
"uid": "5343b9d1a8dc278b32870a71"
},
{
"name": "中国工商银行附行式自助银行(北京分行通州支行永顺潞苑支行)",
"location": {
"lat": 39.936135,
"lng": 116.686147
},
"address": "北京市通州区永顺镇潞苑南里3号院4号楼一层",
"province": "北京市",
"city": "北京市",
"area": "通州区",
"street_id": "ffd9bf26ac9c95db4e2fdf17",
"detail": 1,
"uid": "ffd9bf26ac9c95db4e2fdf17"
},
{
"name": "中国工商银行ATM(北京定福庄支行)",
"location": {
"lat": 39.921399,
"lng": 116.569927
},
"address": "定福庄南里1号",
"province": "北京市",
"city": "北京市",
"area": "朝阳区",
"street_id": "be0e843d4890f83efbdc85d8",
"detail": 1,
"uid": "be0e843d4890f83efbdc85d8"
},
{
"name": "中国工商银行离行式自助银行(北京分行顺义支行香花畦家园甲1号)",
"location": {
"lat": 40.115418,
"lng": 116.556654
},
"address": "香花畦家园甲1号楼香花畦家园甲1号楼",
"province": "北京市",
"city": "北京市",
"area": "顺义区",
"street_id": "acbfe8bd6eb66ee0ca2915cc",
"detail": 1,
"uid": "acbfe8bd6eb66ee0ca2915cc"
},
{
"name": "中国工商银行ATM(北京媒体村支行)",
"location": {
"lat": 40.0393,
"lng": 116.419226
},
"address": "北京市朝阳区天乐园1-2",
"province": "北京市",
"city": "北京市",
"area": "朝阳区",
"street_id": "4642844a266507d9c9fa5f75",
"detail": 1,
"uid": "4642844a266507d9c9fa5f75"
}
]
}
错误码 | 说明 |
---|---|
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=ATM机&tag=银行®ion=北京&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;
}
}