浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

WEB 服务API

百度地图Web服务API为开发者提供http/https接口,即开发者通过http/https形式发起检索请求,获取返回json或xml格式的检索数据。用户可以基于此开发JavaScript、C#、C++、Java等语言的地图应用。

服务介绍
服务文档
使用指南
常见问题
更新日志
资源下载
地点检索服务

地点检索服务(又名Place API)是一类Web API接口服务;
服务提供多种场景的地点(POI)检索功能,包括城市检索、周边检索、矩形区域检索。开发者可通过接口获取地点(POI)基础或详细地理信息。

功能介绍
行政区划区域检索

开发者可通过该功能,检索某一行政区划内(目前最细到城市级别)的地点信息。

place1.png

圆形区域检索

开发者可设置圆心和半径,检索圆形区域内的地点信息(常用于周边检索场景)。

place2.png

矩形区域检索

开发者可设置检索区域左下角和右上角坐标,检索坐标对应矩形内的地点信息(常用于手机或PC端地图视野内检索)

place3.png

地点详情检索

不同于以上三种检索功能。地点详情检索针对指定POI,检索其相关的详情信息。开发者可以通过三种区域检索(或其他服务)功能,获取POI id。使用“地点详情检索”功能,传入id,即可检索POI详情信息,如评分、营业时间等(不同类型POI对应不同类别详情数据)。

place4.png

接口功能介绍
行政区划区域检索
http://api.map.baidu.com/place/v2/search?query=ATM机&tag=银行&region=北京&output=json&ak=您的ak //GET请求
请求参数
参数名 参数含义 类型 示例 是否必须
query 检索关键字。周边检索和矩形区域内检索支持多个关键字并集检索,不同关键字间以$符号分隔,最多支持10个关键字检索。如:”银行$酒店” string(45) 天安门 必选
tag 检索分类,与q组合进行检索,多个分类以","分隔
POI分类
string(50) 美食 可选
region 检索行政区划区域(增加区域内数据召回权重,如需严格限制召回数据在区域内,请搭配使用city_limit参数),可输入行政区划名或对应cityCode string(50) 北京、131 必选
city_limit 区域数据召回限制,为true时,仅召回region对应区域内数据。 string(50) true、false 可选
output 输出格式为json或者xml string(50) json或xml 可选
scope 检索结果详细程度。取值为1 或空,则返回基本信息;取值为2,返回检索POI详细信息 string(50) 1、2 可选
filter 检索过滤条件。当scope取值为2时,可以设置filter进行排序。

industry_type:行业类型,注意:设置该字段可提高检索速度和过滤精度,取值有: hotel(宾馆);cater(餐饮);life(生活娱乐) sort_name:排序字段,根据industry_type字段的值而定。 1、industry_type为hotel时,sort_name取值有: default(默认);price(价格);total_score(好评);level(星级);health_score(卫生);distance(距离排序,只有周边检索有效) 2、industry_type为cater时,sort_name取值有: default(默认);taste_rating(口味);price(价格);overall_rating(好评);service_rating(服务);distance(距离排序,只有周边检索有效) 3、industry_type为life时,sort_name取值有: default(默认);price(价格);overall_rating(好评);comment_num(服务);distance(距离排序,只有周边检索有效)
sort_rule:排序规则:0(从高到低),1(从低到高)
price_section:价格区间
groupon:是否有团购:1(有),0(无)
discount:是否有打折:1(有),0(无)

string(50) sort_name:distance|sort_rule:1 可选
coord_type 坐标类型,1(wgs84ll即GPS经纬度),2(gcj02ll即国测局经纬度坐标),3(bd09ll即百度经纬度坐标),4(bd09mc即百度米制坐标)
注:"ll为小写LL"
坐标详细说明
int 1、2、3(默认)、4 可选
ret_coordtype 可选参数,添加后POI返回国测局经纬度坐标
坐标详细说明
string(50) gcj02ll 可选
page_size 单次召回POI数量,默认为10条记录,最大返回20条。多关键字检索时,返回的记录数为关键字个数*page_size。 int 10 可选
page_num 分页页码,默认为0,0代表第一页,1代表第二页,以此类推。

常与page_size搭配使用。

int 0、1、2 可选
ak 开发者的访问密钥,必填项。v2之前该属性为key。

申请秘钥

string(50) 必选
sn 开发者的权限签名。

Sn校验说明

string(50) 可选,若开发者所用AK的校验方式为SN校验时该参数必须。
timestamp 设置sn后该值必填。 string(50) 设置sn后该值必填。

返回参数见下方页面内容


周边检索
http://api.map.baidu.com/place/v2/search?query=银行&location=39.915,116.404&radius=2000&output=xml&ak=您的密钥 //GET请求
请求参数
参数名 参数含义 类型 示例 是否必须
query 检索关键字。周边检索和矩形区域内检索支持多个关键字并集检索,不同关键字间以$符号分隔,最多支持10个关键字检索。如:”银行$酒店” string(45) 天安门 必选
tag 检索分类,与q组合进行检索,多个分类以","分隔
POI分类
string(50) 美食 可选
location 周边检索中心点,不支持多个点 string(50) 38.76623,116.43213

lat<纬度>,lng<经度>

必选
radius 周边检索半径,单位为米。(当半径过大,超过中心点所在城市边界时,会变为城市范围检索,检索范围为中心点所在城市) string(50) 1000(默认) 可选
radius_limit
是否严格限定召回结果在设置检索半径范围内。true(是),false(否)。设置为true时会影响返回结果中total准确性及每页召回poi数量,我们会逐步解决此类问题。
string(50)
false 可选
output 输出格式为json或者xml string(50) json或xml 可选
scope 检索结果详细程度。取值为1 或空,则返回基本信息;取值为2,返回检索POI详细信息 string(50) 1、2 可选
filter 检索过滤条件。当scope取值为2时,可以设置filter进行排序。

industry_type:行业类型,注意:设置该字段可提高检索速度和过滤精度,取值有: hotel(宾馆);cater(餐饮);life(生活娱乐) sort_name:排序字段,根据industry_type字段的值而定。 1、industry_type为hotel时,sort_name取值有: default(默认);price(价格);total_score(好评);level(星级);health_score(卫生);distance(距离排序,只有周边检索有效) 2、industry_type为cater时,sort_name取值有: default(默认);taste_rating(口味);price(价格);overall_rating(好评);service_rating(服务);distance(距离排序,只有周边检索有效) 3、industry_type为life时,sort_name取值有: default(默认);price(价格);overall_rating(好评);comment_num(服务);distance(距离排序,只有周边检索有效)
sort_rule:排序规则:0(从高到低),1(从低到高)
price_section:价格区间
groupon:是否有团购:1(有),0(无)
discount:是否有打折:1(有),0(无)

string(50) sort_name:distance|sort_rule:1 可选
coord_type 坐标类型,1(wgs84ll即GPS经纬度),2(gcj02ll即国测局经纬度坐标),3(bd09ll即百度经纬度坐标),4(bd09mc即百度米制坐标)
注:"ll为小写LL"
坐标详细说明
int 1、2、3(默认)、4 可选
ret_coordtype 可选参数,添加后POI返回国测局经纬度坐标
坐标详细说明
string(50) gcj02ll 可选
page_size 单次召回POI数量,默认为10条记录,最大返回20条。多关键字检索时,返回的记录数为关键字个数*page_size。 int 10 可选
page_num 分页页码,默认为0,0代表第一页,1代表第二页,以此类推。

常与page_size搭配使用。

int 0、1、2 可选
ak 开发者的访问密钥,必填项。v2之前该属性为key。

申请秘钥

string(50) 必选
sn 开发者的权限签名。

Sn校验说明

string(50) 可选,若开发者所用AK的校验方式为SN校验时该参数必须。
timestamp 设置sn后该值必填。 string(50) 设置sn后该值必填。
矩形区域检索
http://api.map.baidu.com/place/v2/search?query=银行&bounds=39.915,116.404,39.975,116.414&output=json&ak={您的密钥} //GET请求
请求参数
参数名 参数含义 类型 示例 是否必须
query 检索关键字。周边检索和矩形区域内检索支持多个关键字并集检索,不同关键字间以$符号分隔,最多支持10个关键字检索。如:”银行$酒店” string(45) 天安门 必选
tag 检索分类,与q组合进行检索,多个分类以","分隔
POI分类
string(50) 美食 可选
bounds 检索矩形区域,多组坐标间以","分隔 string(50) 38.76623,116.43213,39.54321,116.46773 lat,lng(左下角坐标),lat,lng(右上角坐标) 必选
output 输出格式为json或者xml string(50) json或xml 可选
scope 检索结果详细程度。取值为1 或空,则返回基本信息;取值为2,返回检索POI详细信息 string(50) 1、2 可选
filter 检索过滤条件。当scope取值为2时,可以设置filter进行排序。

industry_type:行业类型,注意:设置该字段可提高检索速度和过滤精度,取值有: hotel(宾馆);cater(餐饮);life(生活娱乐) sort_name:排序字段,根据industry_type字段的值而定。 1、industry_type为hotel时,sort_name取值有: default(默认);price(价格);total_score(好评);level(星级);health_score(卫生);distance(距离排序,只有周边检索有效) 2、industry_type为cater时,sort_name取值有: default(默认);taste_rating(口味);price(价格);overall_rating(好评);service_rating(服务);distance(距离排序,只有周边检索有效) 3、industry_type为life时,sort_name取值有: default(默认);price(价格);overall_rating(好评);comment_num(服务);distance(距离排序,只有周边检索有效)
sort_rule:排序规则:0(从高到低),1(从低到高)
price_section:价格区间
groupon:是否有团购:1(有),0(无)
discount:是否有打折:1(有),0(无)

string(50) sort_name:distance|sort_rule:1 可选
coord_type 坐标类型,1(wgs84ll即GPS经纬度),2(gcj02ll即国测局经纬度坐标),3(bd09ll即百度经纬度坐标),4(bd09mc即百度米制坐标)
注:"ll为小写LL"
坐标详细说明
int 1、2、3(默认)、4 可选
ret_coordtype 可选参数,添加后POI返回国测局经纬度坐标
坐标详细说明
string(50) gcj02ll 可选
page_size 单次召回POI数量,默认为10条记录,最大返回20条。多关键字检索时,返回的记录数为关键字个数*page_size。 int 10 可选
page_num 分页页码,默认为0,0代表第一页,1代表第二页,以此类推。

常与page_size搭配使用。

int 0、1、2 可选
ak 开发者的访问密钥,必填项。v2之前该属性为key。

申请秘钥

string(50) 必选
sn 开发者的权限签名。

Sn校验说明

string(50) 可选,若开发者所用AK的校验方式为SN校验时该参数必须。
timestamp 设置sn后该值必填。 string(50) 设置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地址信息
telephone string poi电话信息
uid string poi的唯一标示
street_id string 街景图id
detail string 是否有详情页:1有,0没有
detail_info object poi的扩展信息,仅当scope=2时,显示该字段,不同的poi类型,显示的detail_info字段不同。
distance int32 距离中心点的距离,圆形区域检索时返回
type string 所属分类,如’hotel’、’cater’。
tag string 标签
navi_location

POI对应的导航引导点坐标。大型面状POI的导航引导点,一般为各类出入口,方便结合导航、路线规划等服务使用
lng
float
导航引导点经度
lat float
导航引导点纬度
detail_url 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 签到数
地点详情检索服务
http://api.map.baidu.com/place/v2/detail?uid=5a8fb739999a70a54207c130&output=json&scope=2&ak=您的密钥 //GET请求
请求参数
参数 是否必须 默认值 格式举例 含义
uid ‘8ee4560cf91d160e6cc02cd7’ poi的uid
uids ‘8ee4560cf91d160e6cc02cd7’,‘5ffb1816cf771a226f476058’ uid的集合,最多可以传入10个uid,多个uid之间用英文逗号分隔。
output xml json或xml 请求返回格式
scope 1 1、2 检索结果详细程度。取值为1 或空,则返回基本信息;取值为2,返回检索POI详细信息
ak 您的ak 开发者的访问密钥,必填项。v2之前该属性为key。
sn Sn生成方法 开发者的权限签名。
timestamp 设置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地址信息
telephone string poi电话信息
uid string poi的唯一标示
street_id string 街景图id
detail string 是否有详情页:1有,0没有
detail_info object poi的扩展信息,仅当scope=2时,显示该字段,不同的poi类型,显示的detail_info字段不同。
distance int32 距离中心点的距离,圆形区域检索时返回
type string 所属分类,如’hotel’、’cater’。
tag string 标签
navi_location

POI对应的导航引导点坐标。大型面状POI的导航引导点,一般为各类出入口,方便结合导航、路线规划等服务使用
lng
float 导航引导点经度
lat float
导航引导点纬度
detail_url 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 签到数

服务状态码
返回码 英文描述 定义 常见原因
0 ok 正常 服务请求正常召回
2 Parameter Invalid 请求参数非法 必要参数拼写错误或漏传(如query和tag请求中均未传入)
3 Verify Failure 权限校验失败
4 Quota Failure 配额校验失败 服务当日调用次数已超限,请前往API控制台提升(请优先进行开发者认证
5 AK Failure ak不存在或者非法 未传入ak参数;ak已被删除(可前往回收站恢复);
使用方法
编码说明

API请求中需要用到中文或一些特殊字符的参数,如query、region等,为了避免提交到后台乱码,需要对这几个参数值进行编码处理,转换成UTF-8字符的二字符十六进制值,凡是不在下表中的字符都需要进行编码。

字符集合 字符
URL非保留字
a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 - _ . ~
URL保留字
 ! * ' ( ) ; : @ & = + $ , / ? % # [ ]

如果中文参数中使用URL保留字字符的字面意思,例如:region关键字取值为"?北京",检索关键字包含一个问号,此问号也必须进行编码。

附注:

javascript中一般采用encodeURIComponent函数对特殊字符进行编码。

Java中可以使用函数URLEncoder.encode对特殊字符进行编码。

C#中可以使用函数HttpUtility.UrlEncode对特殊字符进行编码。

php中可以使用函数urlencode对特殊字符进行编码。

坐标系说明

WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。

GCJ02:是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。

BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标

Place Suggestion API默认输入输出坐标类型为百度坐标(BD09),同时可通过参数("coord_type","ret_coordtype")控制输入输出坐标类型。输入坐标支持以上三种坐标系,输出坐标支持-国测局坐标(GCJ02)和百度坐标(BD09)

注意:不同类型坐标如需转换,请使用百度地图开放平台提供的标准坐标转换接口。请勿使用其他渠道提供的坐标转换方法,以免影响坐标转换精度。

服务配额

每个开发者账号每天调用“地点检索”API 服务的总次数(即配额)是有限的。

每个开发者账号每天调用“地点检索”API 服务的总次数(即并发量)是有限的。

若需要更高配额和并发量,请申请开发者认证以获取更高配额和更及时的技术支持。

同一个账号下的HTTP/HTTPS请求,配额,并发共享。


配额及默认并发量说明如下

分类 未认证 个人认证 企业认证
日配额(次) 2,000 30,000 300,000
分钟并发数(次/分钟) 120 3,000 12,000
服务常见问题
1、为什么有些POI在接口服务中检索不到?

出于数据保护目的,地点检索服务使用的数据非最新版。若有需求,请联系我们
【排查方法】同一地点,使用百度地图PC端或手机客户端能检索到,使用API接口无数据。

百度地图数据库中无该地点数据。请通过POI纠错平台上报,我们会尽快核实数据并添加上线。
【排查方法】同一地点,使用百度地图PC端或手机客户端和API接口均无返回数据。

检索结果中,相关数据过多,接口结果未展示完全。请通过"page_size","page_num"字段控制数据返回数量和翻页操作。
【排查方法】返回结果中,"total"参数值大于返回POI数量。

2、为什么每次访问服务,最多只返回400条数据?

出于数据保护目的,单次访问服务最多同时返回400条数据。此限制无法修改。请根据实际需求,通过添加分类、设置范围等方式,缩小检索范围。

3、为什么我设置了"region=北京",结果返回了其他城市的数据?

"region"参数表示检索城市偏重,会增加对应城市返回结果的权重,从而影响返回数据排序。但部分权重较高的其他城市地点,仍有可能召回(如:在北京检索"迪士尼",会返回上海数据)。
若需要限制返回结果仅为"region"参数对应的城市数据,请在使用"region"参数时,同时加上"city_limit=true"参数。

4、我能通过接口检索自己的地点数据吗?

地点检索API服务检索的数据为百度地图母库数据,若需要检索自己的业务地点数据,请使用LBS云服务.

2012年3月8日

V1.0

2013年4月7日

V2.0

2013年5月9日

V2.1

2016年10月28日

V2.2

2017年1月10日

V2.3


产品发布
地点检索服务V1.0正式上线
产品发布
地点检索服务V2.0正式上线

1. 新增查询单个POI详情服务

2. 地点检索服务区域查询支持设置返回分页数及每页显示的POI数,较之v1版本,增加可返回的数据条目

3. 支持返回POI的扩展字段(如评分、价格、评论数等)。
新增功能
开放团购API,支持城市内、矩形、圆形区域检索团购信息,且提供商家团购详情查询功能。
新增功能
新增city_limit参数(行政区划检索范围限定功能)
新增功能
新增"ret_coordtype=gcj02ll"参数,地点检索API服务全面支持国测局坐标

服务资源下载
百度地图城市名称-中心点经纬度(cityCenter)关系对照

您可以通过此文件获知百度地图的全国各城市中心点(cityCenter)经纬度


百度地图城市名称-城市代码(cityCode)关系对照

您可以通过此文件获知百度地图的全国各城市代码(cityCode)。 在使用百度地图API或SDK各种涉及citycode参数的服务时,您可参看此文件传入准确值,如JavaScript API的本地检索服务(根据cityCode获取本地检索结果)、Android SDK离线地图服务(根据cityCode,获取对应城市离线地图)等。
注意:cityCode为百度内部定义,已不再维护,请谨慎使用。


百度地图POI行业分类(tag)

您可以通过此链接获知百度地图POI(兴趣点)的tag引导体系,辅助您检索POI。 如检索query为百度地图的tag“生活服务”,返回的检索结果即包含关键字为“生活服务”的POI、也包含tag为“生活服务”的POI,从而聚焦检索结果。