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

LBS.云服务

LBS.云是百度地图针对LBS开发者推出的平台级服务,结合已有的地图API和SDK服务,通过开放服务端存储和计算能力,提供海量位置数据(点、面数据)的实时存储、检索、展示一体化解决方案。

服务介绍
服务文档
使用指南
常见问题
更新日志
云检索服务V3

云检索是一类Web API接口服务; 通过该服务,用户可对云存储中存储的自定义地理数据进行多场景的检索。 包含:周边检索,矩形检索,本地检索和详情检索。

功能介绍
云存储数据周边检索

户可以一点为中心(中心点通过location参数指定),搜索中心点附近指定距离范围(搜索半径通过radius参数指定)内的POI点。检索时可通过tags参数指定检索的类型;通过sortby参数进行检索结果的排序(支持多字段排序);filter参数可以完成对指定数据范围的筛选。

geosearch1.png

云存储数据矩形区域检索

矩形检索是指可检索指定矩形范围内的poi信息,检索区域通过bounds参数设定的矩形的左下角和右上角的经纬度坐标来确定。检索时可通过tags参数指定检索类型;检索结果可通过sortby参数进行排序(支持多字段排序);可通过filter参数筛选出指定的数据范围的结果。

geosearch2.png

云存储数据本地检索

本地检索是指可检索指定区域范围内的poi信息,区域通过region参数来设定,可以是全国范围也可以是小范围的如海淀区。检索时可通过tags参数指定检索类型;通过sortby参数对检索结果进行排序(支持多字段排序);filter参数可以完成对指定数据范围的筛选。

geosearch3.png

云存储数据详情检索

用户可通过该功能,根据云存储数据表中的数据id,检索对应数据详情。

geosearch4.png

接口功能介绍
周边检索
http://api.map.baidu.com/geosearch/v3/nearby?ak=您的ak&geotable_id=****&location=116.395884,39.932154&radius=1000&tags=酒店&sortby=distance:1|price:1&filter=price:200,300 //GET请求
请求参数
参数名 参数含义 类型 格式 备注
ak access_key string(50) 字符串 必须
geotable_id geotable主键 uint32 数字 必须
q 检索关键字 string(45) 任意汉字或数字,英文字母,可以为空字符 可选
location 检索的中心点 string(25) 逗号分隔的经纬度 必须

样例:116.4321,38.76623

coord_type 坐标系 uint32 数字 可选

3代表百度经纬度坐标系统 4代表百度墨卡托系统

radius 检索半径 uint32 单位为米,默认为1000 可选

样例:500

tags 标签 string(45) 空格分隔的多字符串 可选

样例:美食 小吃

sortby 排序字段 string ”分隔的多个检索条件。

格式为sortby={key1}:value1|{key2:val2|key3:val3}。 最多支持16个字段排序 {keyname}:1 升序 {keyname}:-1 降序 以下keyname为系统预定义的: distance 距离排序 weight 权重排序

可选

默认为按weight排序 如果需要自定义排序则指定排序字段 样例:按照价格由便宜到贵排序 sortby=price:1

filter 过滤条件 string(50) 竖线分隔的多个key-value对

key为筛选字段的名称(存储服务中定义) 支持连续区间或者离散区间的筛选: a:连续区间 key:value1,value2 b:离散区间 key:[value1,value2,value3,...]

可选

样例: a:连续区间 样例:筛选价格为9.99到19.99并且生产时间为2013年的项 price:9.99,19.99|time:2012,2012 b:离散区间 筛选价格为8,9,13,并且生产时间为2013年的项 price:[8,9,13]|time:2012,2012 注:符号为英文半角中括号

page_index 分页索引 uint32 当前页标,从0开始 可选

默认为0

page_size 分页数量 uint32 当前页面最大结果数 可选

默认为10,最多为50

callback 回调函数 string(20) js回调函数 可选
sn 用户的权限签名 string(50) 可选
返回结果参数
参数名 参数含义 类型 备注
status 状态码 int32 0表示成功,其他值详见状态码说明
size 分页参数,当前页返回数量 int32
total 分页参数,所有召回数量 int32
contents uid 数据id string
geotable_id geotable_id string
title poi名称 string
address poi地址 string
province poi所属省 string(20)
city poi所属城市 string(20)
district poi所属区 string(20)
coord_type 坐标系定义 int32 可选

3代表百度经纬度坐标系统 4代表百度墨卡托系统

location 经纬度 array
tags poi的标签 string
distance 距离,单位为米 int32
weight 权重 int32
{column} 自定义列 自定义类型 自定义列/値,云存储未添加値时不返回
服务示例

geosearch-1.jpg

矩形检索
http://api.map.baidu.com/geosearch/v3/bound?ak=您的ak&geotable_id=****bounds=116.30,36.20;117.30,37.20 &sortby=price:1&tags=酒店&filer=price:200,300 //GET请求
请求参数
参数名 参数含义 类型 格式 备注
ak access_key string(50) 字符串 必须
geotable_id geotable主键 uint32 数字 必须
q 检索关键字 string(45) 任意汉字或数字,英文字母,可以为空字符 必须
bounds 矩形区域 String(25) 左下角和右上角的经纬度坐标点。2个点用;号分隔 必须

样例:116.30,36.20;117.30,37.20

tags 标签 string(45) 空格分隔的多字符串 可选

样例:美食 小吃

coord_type 坐标系 unit32 数字 可选

3代表百度经纬度坐标系统 4代表百度墨卡托系统

sortby 排序字段 string ”分隔的多个检索条件。
格式为:sortby={key1}:value1|{key2:val2|key3:val3}。
最多支持16个字段排序
{keyname}:1 升序
{keyname}:-1 降序
系统预定义的keyname:weight 权重排序
可选
默认为按weight排序
如果需要自定义排序则指定排序字段
样例:按照价格由便宜到贵排序
sortby=price:1
filter 过滤条件 string(50) 竖线分隔的多个key-value对key为筛选字段的名称(存储服务中定义)
支持连续区间或者离散区间的筛选:
a:连续区间 key:value1,value2
b:离散区间 key:[value1,value2,value3,...]
可选

样例: a:连续区间 样例:筛选价格为9.99到19.99并且生产时间为2013年的项 price:9.99,19.99|time:2012,2012 b:离散区间 筛选价格为8,9,13,并且生产时间为2013年的项 price:[8,9,13]|time:2012,2012 注:符号为英文半角中括号

page_index 分页索引 uint32 当前页标,从0开始 可选

默认为0

page_size 分页数量 uint32 当前页面最大结果数 可选

默认为10,最多为50

callback 回调函数 string(20) js回调函数 可选
sn 用户的权限签名 string(50) 可选
返回结果参数
参数名 参数含义 类型 备注
status 状态码 int32 0表示成功,其他值详见状态码说明
size 分页参数,当前页返回数量 int32
total 分页参数,所有召回数量 int32
contents uid 数据id string
geotable_id geotable_id string
title poi名称 string
address poi地址 string
province poi所属省 string(20)
city poi所属城市 string(20)
district poi所属区 string(20)
location 经纬度 array
coord_type 坐标系定义 int32 3代表百度经纬度坐标系统,4代表百度墨卡托系统
tags poi的标签 string
distance 距离,单位为米 int32
weight 权重 int32
{column} 自定义列 自定义类型 自定义列/値,云存储未添加値时不返回
服务示例

geosearch-3.jpg

本地检索
http://api.map.baidu.com/geosearch/v3/local?region=北京&ak=您的ak&geotable_id=****&tags=酒店&sortby=distance:1|price:1 &filter=price:200,300 //GET请求
请求参数
参数名 参数含义 类型 格式 备注
ak access_key string(50) 字符串 必须
geotable_id geotable主键 uint32 数字 必须
q 检索关键字 string(45) 任意汉字或数字,英文字母,可以为空字符 必须
coord_type 坐标系 uint32 数字 可选

3代表百度经纬度坐标系统 4代表百度墨卡托系统

region 检索区域名称 String(25) 市或区的名字,如北京市,海淀区。 可选,此接口推荐填写该参数

否则,默认按照全国范围来检索

tags 标签 string(45) 空格分隔的多字符串 可选

样例:美食 小吃

sortby 排序字段 string ”分隔的多个检索条件。

格式为sortby={key1}:value1|{key2:val2|key3:val3}。 最多支持16个字段排序 {keyname}:1 升序 {keyname}:-1 降序 以下keyname为系统预定义的: distance 距离排序 weight 权重排序

可选 默认为按weight排序 如果需要自定义排序则指定排序字段 样例:按照价格由便宜到贵排序 sortby=price:1

filter 过滤条件 string(50) 竖线分隔的多个key-value对

key为筛选字段的名称(存储服务中定义) 支持连续区间或者离散区间的筛选: a:连续区间 key:value1,value2 b:离散区间 key:[value1,value2,value3,...]

可选

样例: a:连续区间 样例:筛选价格为9.99到19.99并且生产时间为2013年的项 price:9.99,19.99|time:2012,2012 b:离散区间 筛选价格为8,9,13,并且生产时间为2013年的项 price:[8,9,13]|time:2012,2012 注:符号为英文半角中括号

page_index 分页索引 uint32 当前页标,从0开始 可选

默认为0

page_size 分页数量 uint32 当前页面最大结果数 可选

默认为10,最多为50

callback 回调函数 string(20) js回调函数 可选
sn 用户的权限签名 string(50) 可选
返回结果参数
参数名 参数含义 类型 备注
status 状态码 int32 0表示成功,其他值详见状态码说明
size 分页参数,当前页返回数量 int32
total 分页参数,所有召回数量 int32
contents uid 数据id string
geotable_id geotable_id string
title poi名称 string
address poi地址 string
province poi所属省 string(20)
city poi所属城市 string(20)
district poi所属区 string(20)
location 经纬度 array
coord_type 坐标系定义 int32 可选

3代表百度经纬度坐标系统 4代表百度墨卡托系统

tags poi的标签 string 多个tag用空格分隔
distance 距离,单位为米 int32
weight 权重 int32
{column} 自定义列 自定义类型 自定义列/値,云存储未添加値时不返回
服务示例

geosearch-2.jpg


详情检索
http://api.map.baidu.com/geosearch/v3/detail/{uid} //GET请求
请求参数
参数名 参数含义 类型 备注
ak access_key string(50) 必须
geotable_id geotable表主键 int32 必选
coord_type 坐标系 uint32 可选

3代表百度经纬度坐标系统 4代表百度墨卡托系统

sn 用户的权限签名 string(50) 可选
返回结果参数
参数名 参数含义 类型 备注
status 状态码 int32 0代表成功,其它取值含义另行说明
size 分页参数,当前页返回数量 int32
total 分页参数,所有召回数量 int32
contents uid 数据id string
geotable_id geotable_id string
title Poi地址 string
address poi名称 string
province poi所属省 string
city poi所属城市 string(20)
district poi所属区 string(20)
location 经纬度 array
coord_type 坐标系定义 int32 3代表百度经纬度坐标系统,4代表百度墨卡托系统
tags poi的标签 string
distance 距离,单位为米 int32
weight 权重 int32
{column} 自定义列 自定义类型 自定义列/値,云存储未添加値时不返回
服务示例

geosearch-4.jpg

状态码
状态码 定义 注释
0 正常
1 服务器内部错误 该服务响应超时或系统内部错误,请留下联系方式
10 上传内容超过8M Post上传数据不能超过8M
101 AK参数不存在 请求消息没有携带AK参数
102 MCODE参数不存在,mobile类型mcode参数必需 对于Mobile类型的应用请求需要携带mcode参数,该错误码代表服务器没有解析到mcode
200 APP不存在,AK有误请检查再重试 根据请求的ak,找不到对应的APP
201 APP被用户自己禁用,请在控制台解禁
202 APP被管理员删除 恶意APP被管理员删除
203 APP类型错误 当前API控制台支持Server(类型1), Mobile(类型2, 新版控制台区分为Mobile_Android(类型21)及Mobile_IPhone(类型22))及Browser(类型3),除此之外其他类型认为是APP类型错误
210 APP IP校验失败 在申请SERVER类型应用的时候选择IP校验,需要填写IP白名单,如果当前请求的IP地址不在IP白名单或者不是0.0.0.0/0就认为IP校验失败
211 APP SN校验失败 SERVER类型APP有两种校验方式IP校验和SN校验,当用户请求的SN和服务端计算出来的SN不相等的时候提示SN校验失败
220 APP Referer校验失败 浏览器类型的APP会校验referer字段是否存且切在referer白名单里面,否则返回该错误码
230 APP Mcode码校验失败 服务器能解析到mcode,但和数据库中不一致,请携带正确的mcode
240 APP 服务被禁用 用户在API控制台中创建或设置某APP的时候禁用了某项服务
250 用户不存在 根据请求的user_id, 数据库中找不到该用户的信息,请携带正确的user_id
251 用户被自己删除 该用户处于未激活状态
252 用户被管理员删除 恶意用户被加入黑名单
260 服务不存在 服务器解析不到用户请求的服务名称
261 服务被禁用 该服务已下线
301 永久配额超限,限制访问 配额超限,如果想增加配额请联系我们
302 天配额超限,限制访问 配额超限,如果想增加配额请联系我们
401 当前并发量已经超过约定并发配额,限制访问 并发控制超限,请控制并发量或联系我们
402 当前并发量已经超过约定并发配额,并且服务总并发量也已经超过设定的总并发配额,限制访问 并发控制超限,请控制并发量或联系我们
使用方法
1申请百度账号
百度地图开放平台所有服务申请均需在登录百度账号前提下进行。使用服务前请先申请注册百度账号。 点此申请
2申请成为百度开发者
登录百度账号后,请申请百度地图开放平台开发者,即可开始使用相关服务。 点此申请
3获取服务密钥(ak)
发送服务请求,需使用ak参数进行鉴权(必须)。发送服务请求前需先创建ak。 点此创建
4使用云存储服务,创建位置数据表
使用云地理编码解析自定义地理数据,首先需使用云存储服务,创建位置数据表,编辑自定义地址数据。创建数据表成功,获取位置数据表id(geotable_id)
5拼写请求URL,使用服务获取结果
拼写请求URL,使用geotable_id,解析位置数据表中的自定义地址数据。
编码说明

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请求,配额,并发共享。


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

分类 未认证 个人认证 企业认证
日配额(次) 100,000 300,000 3,000,000
分钟并发数(次/分钟) 6,000 12,000 30,000
服务常见问题
1、我已在云存储服务中存储数据,为何无法在云检索服务中检索?

请检查请求URL中,geotable_id是否正确传值,是否对应云储存中存储数据的数据表ID。
请检索用于存储数据的云存储服务版本号。目前云存储服务分V4和V3两个版本,两个版本数据互不相同,需要使用对应版本的云检索服务才能完成检索。

2、为什么设置筛选条件后,召回的poi实际数量与统计字段统计的数量不匹配?

服务已知问题。目前云检索先召回数据表所有poi,然后根据检索条件过滤数据。
数据统计发生在第一步,故会出现统计不准确badcase。我们会在后期优化这一问题。

2013年10月24日

V2.0

2014年11月7日

V2.1

2014年1月20日

V3.0


功能更新

提高位置检索的实时性和稳定性

优化TAG过滤和文件检索的方式和性能

优化增加geohash空间索引和地域索引,进一步提升空间检索性能

优化独立存储和检索空间,从建库到检索支持开发者数据计算的无干扰运营

功能更新

请求参数:新增可选参数“coord_type”

响应参数下,新增返回参数“coord_type”,值为2种,3代表经纬度坐标系统,4代表墨卡托系统。

产品上线
LBS.云检索:支持对属性值为离散数值类型的POI的筛选。