地点输入提示服务(又名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 | 输入建议关键字(支持拼音) | 是 |
region | 无 | 北京市、上海市等 | 支持城市及对应百度编码()。(指定的区域的返回结果加权,可能返回其他城市高权重结果。若要对返回结果区域严格限制,请使用city_limit参数) | 是 |
city_limit | false | 'false'or'true' | 取值为"true",仅返回region中指定城市检索结果 | 否 |
location | 无 | 40.047857537164,116.31353434477 | 传入location参数后,返回结果将以距离进行排序 | 否 |
coord_type | 3 | 坐标类型: | 可选参数,用于标注请求中「location」参数使用的坐标类型 | 否 |
ret_coordtype | 无 | gcj02ll | 可选参数,添加后poi返回国测局经纬度坐标 | 否 |
output | xml | json、xml | 返回数据格式,可选json、xml两种 | 否 |
ak | 无 | e4805d16**********707cdc962045 | 开发者访问密钥,必选。 | 是 |
sn | 无 | 用户的权限签名 | 否 | |
timestamp | 无 | 设置sn后该值必选 | 否 |
返回参数 | 类型 | 备注 | |||
---|---|---|---|---|---|
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字段为请求的参数functionrequest_get($url ='', $param =array()){if(empty($url)||empty($param)){returnfalse;}$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 | 支持城市及对应百度编码()。(指定的区域的返回结果加权,可能返回其他城市高权重结果。若要对返回结果区域严格限制,请使用city_limit参数) | 是 | |
city_limit | 取值为'true',仅返回region中指定城市检索结果 | 否 | |
output | 输出格式为json或者xml | 否 |
0 | ok | 正常 | 服务请求正常召回 |
1 | 服务器内部错误 | 该服务响应超时或系统内部错误,请留下凯发k8官方旗舰厅的联系方式 | |
2 | parameter invalid | 请求参数非法 | 必要参数拼写错误或漏传(如query和tag请求中均未传入) |
3 | verify failure | 权限校验失败 | |
4 | quota failure | 配额校验失败 | 服务当日调用次数已超限,请前往提升(请优先进行) |
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的时候禁用了某项服务,若需开通权限,可进入为ak勾选对应服务 | |
250 | 用户不存在 | 根据请求的user_id, 数据库中找不到该用户的信息,请携带正确的user_id | |
251 | 用户被自己删除 | 该用户处于未激活状态 | |
252 | 用户被管理员删除 | 恶意用户被加入黑名单 | |
260 | 服务不存在 | 服务器解析不到用户请求的服务名称 | |
261 | 服务被禁用 | 该服务已下线 | |
302 | 天配额超限,限制访问 | 配额超限,如果想增加配额请 | |
401 | 当前并发量已经超过约定并发配额,限制访问 | 并发控制超限,请控制并发量或 |
上一篇
下一篇
本篇文章对您是否有帮助?