概述
地点搜索(search接口),提供三类范围条件的搜索功能:
- 指定城市的地点搜索:如在北京搜索餐馆;
- 圆形区域的地点搜索:一般用于指定位置的周边(附近)地点搜索,如,搜索颐和园附近的酒店;
- 矩形区域的地点搜索:在地图应用中,往往用于视野内搜索,因为显示地图的区域是个矩形。
请求URL
该请求为GET请求
URL编码
GET请求,注意参数值要进行URL编码(推荐encodeURI),一般浏览器会自动进行url编码,小心二次编码。
请求参数
参数 | 必填 | 说明 | 示例 |
---|---|---|---|
keyword | 是 | POI搜索关键字,用于全文检索字段 | keyword=酒店,注意键值要进行URL编码(推荐encodeURI),如keyword=%e9%85%92%e5%ba%97 |
boundary | 是 | 搜索地理范围 [查看boundary语法] |
示例1,指定地区名称,不自动扩大范围: boundary=region(北京,0) 示例2,周边搜索(圆形范围):boundary=nearby(39.908491,116.374328,1000) 示例3,矩形区域范围:boundary=rectangle(39.9072,116.3689,39.9149,116.3793) |
filter | 否 | 筛选条件: 最多支持五个分类 [查看filter语法] |
搜索指定分类 filter=category=公交站 搜索多个分类 filter=category=大学,中学 排除指定分类 filter=category<>商务楼宇 (注意参数值要进行url编码) |
orderby | 否 | 排序,目前仅周边搜索(boundary=nearby) 支持按距离由近到远排序,取值:_distance |
orderby=_distance |
page_size | 否 | 每页条目数,最大限制为20条 | page_size=10 |
page_index | 否 | 第x页,默认第1页 | page_index=2 |
key | 是 | 开发密钥(Key) | key=d84d6d83e0e51e481e50454ccbe8986b |
output | 否 | 返回格式: 支持JSON/JSONP,默认JSON |
output=json |
callback | 否 | JSONP方式回调函数 | callback=function1 |
boundary
搜索地理范围,支持三个范围函数:
[指定地区名称]:
指定地区名称:boundary=region(city_name [,auto_extend][,lat,lng])
city_name:检索区域名称, 城市名字,如北京市。
auto_extend:可选参数。
取值1:默认值,若当前城市搜索无结果,则自动扩大范围;
取值0:仅在当前城市搜索。
lat,lng:可选参数。
当用户使用泛关键词搜索时(如酒店、超市),这类搜索多为了查找附近,
使用此参数,搜索结果以此坐标为中心,返回就近地点,体验更优。
[周边搜索]:
圆形区域范围 :nearby(lat,lng<中心坐标>,radius<半径/米>[, auto_extend])
radius:半径,最大支持1000米
auto_extend:可选参数,当前范围无结果时,是否自动扩大范围,取值:
1 [默认]自动扩大范围;
0 不扩大
[矩形搜索]:
矩形范围 :boundary=rectangle(lat,lng<左下/西南>, lat,lng<右上/东北>)
filter
筛选条件:搜索指定分类
最多支持五个分类
基本语法: columnName<筛选列>=value<列值>;
目前支持按POI分类筛选(例:category=分类词),若指定多个分类用英文逗号分隔,支持的分类词可参考:
筛选条件:排除指定分类
基本语法: columnName<筛选列>=value<列值>
*.筛选有电话的地点:tel<>null
*.按POI分类筛选:例 category=分类词,若指定多个分类用英文逗号分隔,最多支持5个;
*.按排除指定POI分类筛选:例:category<>分类词,指获取除指定分类以外的地点,若指定多个分类用英文逗号分隔,最多支持5个;
附录:腾讯地图POI分类关键词1. 正常搜索结果
名称 | 类型 | 必填 | 说明 | |||
---|---|---|---|---|---|---|
status | number | 是 | 状态码,0为正常, 310请求参数信息有误, 311Key格式错误, 306请求有护持信息请检查字符串, 110请求来源未被授权 |
|||
message | string | 是 | 状态说明 | |||
count | number | 是 | 本次搜索结果总数,另外本服务限制最多返回200条数据(data),翻页(page_index)超过搜索结果总数 或 最大200条限制时,将返回最后一页数据。 | |||
data | array | 是 | 搜索结果POI数组,每项为一个POI对象 | |||
id | string | 是 | POI唯一标识 | |||
title | string | 是 | POI名称 | |||
address | string | 是 | 地址 | |||
tel | string | 是 | 电话 | |||
category | string | 是 | POI分类 | |||
type | number | 是 | POI类型,值说明:0:普通POI / 1:公交车站 / 2:地铁站 / 3:公交线路 / 4:行政区划 | |||
location | object | 是 | 坐标 | |||
lat | number | 是 | 纬度 | |||
lng | number | 是 | 经度 | |||
ad_info | object | 是 | 行政区划信息,目前仅提供adcode | |||
adcode | string | 是 | 行政区划代码
|
|||
pano | object | 否 | 该POI的街景最佳查看场景及视角信息 | |||
id | string | 是 | 街景场景ID,若有pano信息,则ID一定存在 | |||
heading | number | 否 | 最佳偏航角(与正北方向夹角,街景相关知识请 点击查看) | |||
pitch | number | 否 | 俯仰角 | |||
zoom | number | 否 | 缩放级别 |
-示例a:指定地区名称
//指定地区名称,不自动扩大范围:boundary=region(北京,0)
https://apis.map.qq.com/ws/place/v1/search? boundary=region(北京,0) &keyword=KFC &page_size=20 &page_index=1 &orderby=_distance &key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77 |
在线测试
boundary | |
page_size | |
page_index | |
keyword | |
orderby | |
key |
-示例b:周边搜索
//周边搜索(圆形范围):boundary=nearby(lat,lng<中心坐标>,radius<半径/米>)
https://apis.map.qq.com/ws/place/v1/search? boundary=nearby(39.908491,116.374328,1000) &keyword=KFC &page_size=20 &page_index=1 &orderby=_distance &key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77 |
在线测试
boundary | |
page_size | |
page_index | |
keyword | |
orderby | |
key |
-示例c:矩形搜索
//矩形区域范围:boundary=rectangle(lat,lng<左下/西南>, lat,lng<右上/东北>)
在线测试
boundary | |
page_size | |
page_index | |
keyword | |
orderby | |
key |
2.估算搜索结果
当搜索地点无结果时,本服务会返回地址解析的估算结果,如图:
名称 | 类型 | 必填 | 说明 | ||
---|---|---|---|---|---|
status | number | 是 | 状态码,0为正常, 310请求参数信息有误, 311Key格式错误, 306请求有护持信息请检查字符串, 110请求来源未被授权 |
||
message | string | 是 | 状态说明 | ||
count | number | 是 | 本次搜索结果总数 | ||
data | array | 是 | 搜索结果POI数组,每项为一个POI对象 | ||
geocoder | object | 是 | 地址解析 | ||
result | object | 是 | 返回结果同:地址解析(地址转坐标), (地址解析结果的result节点) |
-示例a:估算结果
https://apis.map.qq.com/ws/place/v1/search? boundary=region(北京,0) &keyword=北京市海淀区北四环西路102号 &page_size=20 &page_index=1 &orderby=_distance &key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77 |
boundary | |
page_size | |
page_index | |
keyword | |
orderby | |
key |
3.按城市统计
当搜索范围过大,如 boundary=region(全国) 时,而且keyword的搜索结果在各城市无明显权重特别高的时,将返回各城市搜索结果数量的统计数,您可以将此统计结果展示给用户,供用户缩小城市范围,再次发起搜索使用。
名称 | 类型 | 必填 | 说明 | ||
---|---|---|---|---|---|
status | number | 是 | 状态码,0为正常, 310请求参数信息有误, 311Key格式错误, 306请求有护持信息请检查字符串, 110请求来源未被授权 |
||
message | string | 是 | 状态说明 | ||
count | number | 是 | 本次搜索结果总数 | ||
data | array | 是 | 搜索结果POI数组,每项为一个POI对象 | ||
cluster | object | 是 | 地址解析 | ||
title | string | 是 | 城市名称 | ||
count | number | 是 | 根据搜索条件,在该城市搜到的结果数 |
-示例a:按城市统计
https://apis.map.qq.com/ws/place/v1/search? boundary=region(全国) &keyword=kfc &key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77 |
boundary | |
keyword | |
key |