地点输入提示服务(又名Place Suggestion API)是一类Web API接口服务。
匹配用户输入内容,提供输入提示功能。常与地点检索服务搭配使用。也可作为轻量级地点检索服务单独使用(不支持复杂检索场景)。
用户可通过该服务,匹配用户输入关键词的地点推荐列表。
在应用方面,可将地点推荐列表展示给用户,用户可通过点击等交互方式,结合地点检索服务,检索用户点击的POI信息,实现地点详情检索功能。
通过关键词和检索城市限制,可满足轻量级地点检索需求,获取地点基础数据。
https://api.map.baidu.com/place/v2/suggestion?query=天安门®ion=北京&city_limit=true&output=json&ak=你的ak
//GET请求
参数名称 | 参数含义 | 示例 | 默认值 | 字段类型 | 必选 |
---|---|---|---|---|---|
q(query) | 输入建议关键字(支持拼音) | 上地、天安、中关、shanghai | 无 | string(45) | 是 |
region | 支持城市及对应百度编码(Citycode)。(指定的区域的返回结果加权,可能返回其他城市高权重结果。若要对返回结果区域严格限制,请使用city_limit参数) | 北京市、上海市等 | 无 | string(50) | 是 |
ak | 开发者访问密钥,必选。 | E4805d16**********707cdc962045 | 无 | string(50) | 是 |
city_limit | 取值为"true",仅返回region中指定城市检索结果 | 'false'or'true' | false | string(50) | 否 |
location | 传入location参数后,是综合各种相关性排序的,location参数只是其中一个因素,但不会严格按距离排序决定最终的排序 | 40.047857537164,116.31353434477 | 无 | object | 否 |
coord_type | 传入的坐标类型,可选参数,用于标注请求中「location」参数使用的坐标类型 | 坐标类型: | 3 | int | 否 |
ret_coordtype | 返回的坐标类型,可选参数,添加后POI返回国测局经纬度坐标 | gcj02ll 坐标详细说明 | 无 | string(50) | 否 |
output | 返回数据格式,可选json、xml两种 | json、xml | xml | string(50) | 否 |
sn | 用户的权限签名 | 无 | string(50) | 否 | |
timestamp | 设置sn后该值必选 | 无 | string(50) | 否 |
返回参数 | 类型 | 备注 | |||
---|---|---|---|---|---|
status | Int | 本次API访问状态,如果成功返回0,如果失败返回其他数字。(见服务状态码) | |||
message | string | 对API访问状态值的英文说明,如果成功返回ok,并返回结果字段,如果失败返回错误说明。 | |||
result | 返回的结果 | ||||
name | string | poi名称,单次请求最多返回10条结果 | |||
location | object | poi经纬度坐标 | |||
lat | float | 纬度值 | |||
lng | float | 经度值 | |||
uid | string | poi的唯一标识,ID | |||
province | string | 所属省份 | |||
city | string | 所属城市 | |||
cityid | int | 百度城市编码 详情见资源下载citycode编码 | |||
district | string | 区县 | |||
adcode | int | 行政区划代码 | |||
business | string | 商圈 | |||
tag | string | poi分类 | |||
address | string | poi地址 | |||
children | poi子点 | ||||
uid | string | poi子点ID,可用于poi详情检索 | |||
show_name | string | poi子点简称 | |||
name | string | poi子点名称 |
输入AK可生成包含IP/SN校验方式的代码
<?php// 此处填写你在控制台-应用管理-创建应用后获取的AK$ak = '您的AK';// 发起一个http get请求,并返回请求的结果// $url字段为请求的地址// $param字段为请求的参数function request_get($url = '', $param = array()) {if (empty($url) || empty($param)) {return false;}$getUrl = $url . "?" . http_build_query($param);$curl = curl_init(); // 初始化curlcurl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中检查SSL加密算法是否存在curl_setopt($curl, CURLOPT_URL, $getUrl); // 抓取指定网页curl_setopt($curl, CURLOPT_TIMEOUT, 1000); // 设置超时时间1秒curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // curl不直接输出到屏幕curl_setopt($curl, CURLOPT_HEADER, 0); // 设置header$data = curl_exec($curl); // 运行curlif (!$data) {print("an error occured in function request_get(): " . curl_error($curl) . "\n");}curl_close($curl);return $data;}// 请求地址$url = 'https://api.map.baidu.com/place/v2/suggestion';// 构造请求参数$param['query'] = '天安门';$param['region'] = '北京';$param['city_limit'] = 'true';$param['output'] = 'json';$param['ak'] = $ak;$res = request_get($url, $param);// 将原始返回的结果打印出来print("请求的原始返回结果为:\n");print($res . "\n");?>
{"status":0,"message":"ok","result":[{"name":"天安门广场","location":{"lat":39.909652,"lng":116.404177},"uid":"c9b5fb91d49345bc5d0d0262","province":"北京市","city":"北京市","district":"东城区","business":"","cityid":"131","tag":"旅游景点","address":"北京市-东城区-东长安街","children":[{"uid":"797c4f6023068d0ceedfcaf9","name":"天安门广场-出入口 北京市东城区","show_name":"出入口"},{"uid":"ad764cbdedc637ec6d3e1b91","name":"天安门广场-出口 北京市东城区","show_name":"出口"}],"adcode":"110101"},{"name":"天安门","location":{"lat":39.915119,"lng":116.403963},"uid":"65e1ee886c885190f60e77ff","province":"北京市","city":"北京市","district":"东城区","business":"","cityid":"131","tag":"古建筑","address":"北京市-东城区-长安街","children":[],"adcode":"110101"},{"name":"天安门东-地铁站","location":{"lat":39.914082,"lng":116.407913},"uid":"940aeb3c98d5a0218a2fb5de","province":"北京市","city":"北京市","district":"东城区","business":"","cityid":"131","tag":"地铁站","address":"","children":[],"adcode":"110101"},{"name":"天安门广场-国旗","location":{"lat":39.91328,"lng":116.403931},"uid":"4ae2adcf574bcd2b38221c66","province":"北京市","city":"北京市","district":"东城区","business":"","cityid":"131","tag":"旅游景点","address":"北京市-东城区-天安门广场内","children":[],"adcode":"110101"},{"name":"天安门西-地铁站","location":{"lat":39.913776,"lng":116.398036},"uid":"002975204d3b1e9b9968b4de","province":"北京市","city":"北京市","district":"西城区","business":"","cityid":"131","tag":"地铁站","address":"","children":[],"adcode":"110102"},{"name":"天安门东地铁站-b口","uid":"448961a899f372b7077ce838","province":"","city":"","district":"","business":"","cityid":"131","tag":"","address":"北京市-东城区","children":[]},{"name":"天安门-入口","location":{"lat":39.914939,"lng":116.404137},"uid":"fd975efc10193656734b879a","province":"北京市","city":"北京市","district":"东城区","business":"","cityid":"131","tag":"出入口","address":"北京市-东城区-天安门内","children":[],"adcode":"110101"},{"name":"天安门广场东-公交车站","location":{"lat":39.908018,"lng":116.405975},"uid":"bc3118720ad264138a36ee6f","province":"北京市","city":"北京市","district":"东城区","business":"","cityid":"131","tag":"公交站","address":"","children":[],"adcode":"110101"},{"name":"天安门-城楼检票处(入口)","location":{"lat":39.915739,"lng":116.403663},"uid":"f7a0d122f3307a767dc876f1","province":"北京市","city":"北京市","district":"东城区","business":"","cityid":"131","tag":"出入口","address":"北京市-东城区-天安门内","children":[],"adcode":"110101"},{"name":"天安门东-公交车站","location":{"lat":39.914198,"lng":116.408332},"uid":"947c13ba353f9123dbd891fb","province":"北京市","city":"北京市","district":"东城区","business":"","cityid":"131","tag":"公交站","address":"","children":[],"adcode":"110101"}]}
参数 | 值 | 备注 | 必选 |
---|---|---|---|
query | 输入建议关键字(支持拼音) | 是 | |
region | 支持城市及对应百度编码(Citycode)。(指定的区域的返回结果加权,可能返回其他城市高权重结果。若要对返回结果区域严格限制,请使用city_limit参数) | 是 | |
city_limit | 取值为'true',仅返回region中指定城市检索结果 | 否 | |
output | 输出格式为json或者xml | 否 |
0 | ok | 正常 | 服务请求正常召回 |
1 | 服务器内部错误 | 该服务响应超时或系统内部错误,请留下联系方式 | |
2 | Parameter Invalid | 请求参数非法 | 必要参数拼写错误或漏传(如query和tag请求中均未传入) |
3 | Verify Failure | 权限校验失败 | |
4 | Quota Failure | 配额校验失败 | 服务当日调用次数已超限,请前往API控制台提升(请优先进行)开发者认证 |
5 | AK Failure | ak不存在或者非法 | 未传入ak参数;ak已被删除(可前往回收站恢复); |
8 | Parse Proto Failure | 数据解析失败 | 一般是query输入有误导致,如query输入特殊字符,全角符号。 |
9 | Permission Denied | 高级权限校验失败 | |
101 | AK参数不存在 | 请求消息没有携带AK参数 | |
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校验失败 | |
240 | APP 服务被禁用 | 用户在API控制台中创建或设置某APP的时候禁用了某项服务,若需开通权限,可进入API控制台为AK勾选对应服务 | |
250 | 用户不存在 | 根据请求的user_id, 数据库中找不到该用户的信息,请携带正确的user_id | |
251 | 用户被自己删除 | 该用户处于未激活状态 | |
252 | 用户被管理员删除 | 恶意用户被加入黑名单 | |
260 | 服务不存在 | 服务器解析不到用户请求的服务名称 | |
261 | 服务被禁用 | 该服务已下线 | |
302 | 天配额超限,限制访问 | 配额超限,如果想增加配额请联系我们 | |
401 | 当前并发量已经超过约定并发配额,限制访问 | 并发控制超限,请控制并发量或联系我们 |
上一篇
下一篇
本篇文章对您是否有帮助?