行政区划区域检索
百度地图 官方文档
开发者可通过该功能,检索某一行政区划内(目前最细到城市级别)的地点信息
基本说明:
接口地址:http://api.map.baidu.com/place/v2/search
返回格式:json/xml
请求方式:get
请求示例:http://api.map.baidu.com/place/v2/search?query=ATM机&tag=银行&region=北京&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标签信息
JSON返回示例:
{
	"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=银行&region=北京&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;
    }
}