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

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 检索关键字。行政区划区域检索不支持多关键字检索。
如果需要按POI分类进行检索,请将分类通过query参数进行设置,如query=美食
string(45) 天安门、美食 必选
tag 检索分类偏好,与q组合进行检索,多个分类以","分隔
POI分类),如果需要严格按分类检索,请通过query参数设置
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个关键字检索。如:”银行$酒店”
如果需要按POI分类进行检索,请将分类通过query参数进行设置,如query=美食
string(45) 天安门 必选
tag 检索分类偏好,与q组合进行检索,多个分类以","分隔
POI分类),如果需要严格按分类检索,请通过query参数设置
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个关键字检索。如:”银行$酒店”
如果需要按POI分类进行检索,请将分类通过query参数进行设置,如query=美食
string(45) 天安门 必选
tag 检索分类偏好,与q组合进行检索,多个分类以","分隔
POI分类),如果需要严格按分类检索,请通过query参数设置
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地址信息
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 int32 距离中心点的距离,圆形区域检索时返回
type string 所属分类,如’hotel’、’cater’。
tag string 标签
navi_location

POI对应的导航引导点坐标。大型面状POI的导航引导点,一般为各类出入口,方便结合导航、路线规划等服务使用
lng
float
导航引导点经度
lat float
导航引导点纬度
detail_url string poi的详情页
children

poi子点数据,若某poi无子点,该字段为空
uid
string
poi子点的唯一标示,可用于详情检索
name
string
poi子点名称
show_name
string
poi子点简要名称
tag
string
poi子点类别
location

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 签到数
地点详情检索服务
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地址信息
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 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)

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

服务使用限制

服务相关配额及并发请求限制请访问开发者权益页面查看。

服务常见问题
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,从而聚焦检索结果。