URI
<geocodeService_uri>/suggest[.<format>]
支持的方法
父资源
介绍
返回输入文本字符串(英文)的自动完成建议列表。支持如下类型的地址:
- 子地址或子地址中的一部分,如:3700 Dean Dr #1700, Ventura, Ca
- 街道地址(需包含街道名称),如:380 New York St, Redlands, CA 92373
- 街道交叉路口,如:New York St and W Redlands Blvd, Redlands, CA
- 由名称表示或按类型划分的 POI,如:mount everest 或 coffee
- 行政地名,如城市、县、州、省或国家/地区名称,如:Seattle, Washington
- 邮政编码,如:92591
请注意:转发由 10.2 版本 ArcGIS Server 发布的地址匹配服务不支持该资源。
支持的方法:
HTTP 请求方法
对如下 URI 执行 HTTP 请求,以 json 输出格式为例加以说明,其中,supermapiserver 是服务器名,{component}是服务组件名。
http://supermapiserver:8090/iserver/services/{component}/arcgisrest/geocode/GeocodeServer/suggest.json
GET 请求
获取地址的自动完成建议列表。
请求参数
名称 | 类型 | 含义 |
---|---|---|
f | String | 【必填参数】响应格式,支持 json、pjson |
text | String | 【必填参数】用于查询的文本 |
returnCollections | boolean | 返回的结果中是否能包含地址集合,默认为 true 注:集合多针对 POI 类别或常见地点(如 Starbucks)。在响应体中通过 isCollection=true 与非集合(isCollection=false)区分 |
countryCode | String | 用于限制返回结果的国家代码。可使用的值包括英文或国家/地区官方语言的国家/地区全名、双字符国家/地区代码或三字符国家/地区代码。 代码列表见:https://developers.arcgis.com/rest/geocode/geocode-coverage |
maxSuggestions | int | 返回匹配建议的最大数量。如果未指定,则默认为 5 |
category | String[] | 用于设置过滤的地点或地址类型,从而在指定地址字段中进行匹配而不再返回匹配其他字段的结果。可传入单个或多个类别值,用逗号分隔。 |
location | ArcGISPoint2D | 一个点坐标,用于根据候选项与该位置的接近程度来排序,如果搜索区域的坐标系与服务的坐标系不同,则必需设置坐标系。例如:location= { "x" : -109.55, "y" : 25.76} |
searchExtent | ArcGISEnvelope | 一组边界框坐标,用于指定特定搜索区域,如果搜索区域的坐标系与服务的坐标系不同,则必需设置坐标系。例如: searchExtent= { "xmin" : -109.55, "ymin" : 25.76, "xmax" : -86.39, "ymax" : 49.94} |
preferredLabelValues | String[] | 指定响应体中包含的地址按照何种信息返回。可传入单个或多个类别值,用逗号分隔。 参数值对应于两个组,每组只能提供一个值:City 和 Street 。City 的可选值包括:postalCity(邮政城市) , localCity(本地城市) 和 matchedCity(匹配城市);Street 的可选值包括:primaryStreet(主要街道)和 matchedStreet(匹配街道)。 若 countryCode 或 sourceCountry 为美国时,地址信息将默认按照 postalCity 和 matchedStreet 返回 |
响应结构
对 suggest 资源执行 GET 请求,返回的资源表述的结构如下 :
字段 | 类型 | 说明 |
suggestions | AddressSuggestInfo[] | 返回对地址关键词的自动完成建议列表,包括如下字段: 1、text:建议的匹配地址; 2、magicKey:为临时值,用于标识 text; 3、isCollection:返回的结果是否为地址集合。 |
响应示例
对 suggest 资源:http://supermapiserver:8090/iserver/services/addressmatch-arcgisGeocode/arcgisrest/geocode/GeocodeServer/suggest?text=Guang&maxSuggestions=&category=&countryCode=&searchExtent=&location=&preferredLabelValues=&f=pjson 执行 GET 请求,对 “Guang”进行地址自动建议,返回的 pjson 格式的表述如下:
{
"suggestions": [
{
"magicKey": "dHA9MCNsb2M9NSNsbmc9MCNwbD01I2xicz0xNDo3",
"isCollection": false,
"text": "Guangdong Province, CHN"
},
{
"magicKey": "dHA9MCNsb2M9NCNsbmc9MCNwbD00I2xicz0xNDo4",
"isCollection": false,
"text": "Guangxi Zhuang Autonomous Region, CHN"
}
]
}
HEAD 请求
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 suggest 资源是否存在,或者客户端是否有权限访问 suggest 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 suggest 资源是否支持<format>格式的表述。
请参见
- geocodeService、findAddressCandidates、geocodeAddresses、reverseGeocode、suggest
- 客户端构建 REST 请求
- 状态码列表及说明
- SuperMap iServer REST API 表述格式介绍