概述

地点搜索(search接口),提供三类范围条件的搜索功能:

  1. 指定城市的地点搜索:如在北京搜索餐馆;
  2. 圆形区域的地点搜索:一般用于指定位置的周边(附近)地点搜索,如,搜索颐和园附近的酒店;
  3. 矩形区域的地点搜索:在地图应用中,往往用于视野内搜索,因为显示地图的区域是个矩形。

请求URL

该请求为GET请求

https://apis.map.qq.com/ws/place/v1/search

URL编码

GET请求,注意参数值要进行URL编码(推荐encodeURI),一般浏览器会自动进行url编码,小心二次编码。

示例:keyword=%e9%85%92%e5%ba%97,boundary=region(%e5%8c%97%e4%ba%ac,0)

请求参数

参数 必填 说明 示例
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:指定地区名称

//GET请求示例,注意参数值要进行URL编码
//指定地区名称,不自动扩大范围: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:周边搜索

//GET请求示例,注意参数值要进行URL编码
//周边搜索(圆形范围):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:矩形搜索

//GET请求示例,注意参数值要进行URL编码
//矩形区域范围:boundary=rectangle(lat,lng<左下/西南>, lat,lng<右上/东北>)
https://apis.map.qq.com/ws/place/v1/search?
boundary=rectangle(39.907293,116.368935,39.914996,116.379321)
&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


我要说两句

2.估算搜索结果

当搜索地点无结果时,本服务会返回地址解析的估算结果,如图:

名称 类型 必填 说明
status number 状态码,0为正常,
310请求参数信息有误,
311Key格式错误,
306请求有护持信息请检查字符串,
110请求来源未被授权
message string 状态说明
count number 本次搜索结果总数
data array 搜索结果POI数组,每项为一个POI对象
geocoder object 地址解析
  result object

返回结果同:地址解析(地址转坐标),

(地址解析结果的result节点)

-示例a:估算结果


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:按城市统计

//GET请求示例,注意参数值要进行URL编码
https://apis.map.qq.com/ws/place/v1/search?
boundary=region(全国)
&keyword=kfc
&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77
在线测试
boundary
keyword
key


我要说两句