查询
查询包提供了一组类,用于获取并解析单个 entity 的详细信息和富内容数据。其主要能力通过 Get Entity Detail 实现。
主要的查询相关类请参见 API reference。
通用请求参数
Lookup API 通过 entityClient.getDetailRequest() 构建请求,可设置以下通用参数:
| 方法 | 说明 |
|---|---|
| setEntityIds(List |
地址或 POI 的 entity id 列表。支持单个查询或批量查询,传入多个 id 即可批量获取详情。必填 |
| setDetailOptions(GetDetailOptions options) | 详情选项,用于控制返回数据的详细程度。选填 |
| setFacetParameters(FacetParameters facetParameters) | facet 相关参数,例如停车价格估算、关联 entity 等。选填 |
| setLocation(double latitude, double longitude) | 用户当前位置坐标。选填 |
| setLocale(Locale locale) | 响应内容的语言偏好,例如 Locale.US。选填 |
GetDetailOptions
通过 GetDetailOptions.builder() 构建后,经 setDetailOptions() 传入:
| 方法 | 说明 |
|---|---|
| setDetailLevel(GetDetailOptions.EntityDetailLevel detailLevel) | 返回数据的详细程度。BASIC:仅返回基本信息;FULL:返回所有可用信息 |
| setShowAddressLines(Boolean showAddressLines) | 设为 true 时,响应中返回分行格式化的 address_lines |
FacetParameters
通过 FacetParameters.builder() 构建后,经 setFacetParameters() 传入:
| 方法 | 说明 |
|---|---|
| setParkingParameters(ParkingParameters parameters) | 停车参数,用于价格估算。entry_time 格式为 yyyy-MM-ddTHH:mm 或 yyyy-MM-ddTHH:mmZ(带 Z 表示 UTC,否则按本地时间处理);duration 为停车时长(分钟),默认 60 |
| setFacetFieldParameters(FacetFieldParameters parameters) | 指定返回的结果 facet 类型 |
| addAdditionalFacetAttribute(AdditionalFacetAttributeType type) | 额外 facet 属性,如 LINKED_ENTITY(返回地址关联的 entity 列表) |
Get Entity Detail
该能力用于获取某个 entity 的详细信息。其 id 通常来自上一次 entity 搜索返回的结果列表。entity 的详情结构与其类型(地址 address 或兴趣点 POI)相关。一般情况下,开发者需要根据返回的 entity 类型,分别处理地址详情和 POI 详情。
关键方法
| 方法 | 说明 |
|---|---|
| setEntityIds(List |
地址或 POI 类型 entity 的唯一 id 列表,支持单个或批量查询。必填 |
| setDetailOptions(GetDetailOptions options) | 详情选项,例如设置 detail_level 为 FULL 获取完整信息。选填 |
| setLocale(Locale locale) | 响应内容的语言偏好。选填 |
| GetDetailOptions.builder().setDetailLevel(GetDetailOptions.EntityDetailLevel level) | BASIC 返回基本信息,FULL 返回全部可用信息 |
| GetDetailOptions.builder().setShowAddressLines(Boolean showAddressLines) | 设为 true 时返回分行地址 address_lines |
示例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
响应示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | |
Get Address Detail with Linked Entity
该能力用于获取某个地址(Address)的详细信息,并同时返回与之关联的 entity 列表。当一次请求中传入多个 entity id 时,该能力不会生效。
关键方法
| 方法 | 说明 |
|---|---|
| setEntityIds(List |
地址类型 entity 的唯一 id,仅支持传入单个 id。传入多个 id 时该能力不生效。必填 |
| setFacetParameters(FacetParameters facetParameters) | 将 additional_facet_attributes 设为 LINKED_ENTITY,触发返回关联 entity 列表。必填 |
| setDetailOptions(GetDetailOptions options) | 详情选项,例如设置 show_address_lines 返回分行地址。选填 |
| setLocale(Locale locale) | 响应内容的语言偏好。选填 |
示例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
响应示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | |
响应参数
EntityGetDetailResponse 包含以下字段:
| 方法 / 字段 | 说明 |
|---|---|
| getStatus() / getCode() | 请求状态 |
| getResponseTime() | 响应时间(毫秒) |
| getReferenceId() | 响应关联的 reference id |
| getResults() | 匹配查询条件的 entity 详情列表。开发者需根据 entity.getType() 区分地址(ADDRESS)和 POI(PLACE)分别处理 |
状态码
| 状态码 | 消息 | 说明 |
|---|---|---|
| 12200 | SUCCESS | 请求成功,未发生错误 |
| 12200 | PARTIAL_SUCCESS | 仅适用于批量查询。部分 id 查询成功,部分失败 |
| 12301 | ENTITY_MOVED | entity id 已变更,详情响应中会反映新的 id |
| 12400 | INVALID_REQUEST | 缺少必填参数,或参数值无法解析 |
| 12404 | ENTITY_NOT_FOUND | 仅适用于单个查询。服务端未找到该 id 对应的数据 |
| 12500 | INTERNAL_SERVER_ERROR | API 服务端内部错误 |