@maptec/cli 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +284 -0
  3. package/bin/maptec.js +2 -0
  4. package/dist/chunk-K574OFFK.js +122 -0
  5. package/dist/chunk-K574OFFK.js.map +1 -0
  6. package/dist/cli.js +899 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/store-ZU7HLXCV.js +18 -0
  9. package/dist/store-ZU7HLXCV.js.map +1 -0
  10. package/package.json +47 -0
  11. package/skills/README.md +30 -0
  12. package/skills/jsapi-skills/README.md +60 -0
  13. package/skills/jsapi-skills/SKILL.md +145 -0
  14. package/skills/jsapi-skills/package.json +31 -0
  15. package/skills/jsapi-skills/references/controls.md +195 -0
  16. package/skills/jsapi-skills/references/events.md +222 -0
  17. package/skills/jsapi-skills/references/geocoding.md +184 -0
  18. package/skills/jsapi-skills/references/map-style.md +123 -0
  19. package/skills/jsapi-skills/references/map.md +154 -0
  20. package/skills/jsapi-skills/references/marker.md +136 -0
  21. package/skills/jsapi-skills/references/operate.md +138 -0
  22. package/skills/jsapi-skills/references/overlay.md +311 -0
  23. package/skills/jsapi-skills/references/place-search.md +411 -0
  24. package/skills/jsapi-skills/references/poi-categories.md +123 -0
  25. package/skills/jsapi-skills/references/popup.md +146 -0
  26. package/skills/jsapi-skills/references/re-geocoding.md +183 -0
  27. package/skills/jsapi-skills/references/routing.md +347 -0
  28. package/skills/jsapi-skills/references/track.md +240 -0
  29. package/skills/jsapi-skills/scripts/validate_jsapi_skill.py +160 -0
  30. package/skills/webapi-skills/README.md +73 -0
  31. package/skills/webapi-skills/SKILL.md +63 -0
  32. package/skills/webapi-skills/package.json +32 -0
  33. package/skills/webapi-skills/references/direction-api.md +175 -0
  34. package/skills/webapi-skills/references/geocoding.md +195 -0
  35. package/skills/webapi-skills/references/ip-location.md +87 -0
  36. package/skills/webapi-skills/references/matrix-api.md +149 -0
  37. package/skills/webapi-skills/references/nearby-search.md +223 -0
  38. package/skills/webapi-skills/references/places.md +239 -0
  39. package/skills/webapi-skills/references/quick-start-cn.md +219 -0
  40. package/skills/webapi-skills/references/reverse-geocoding.md +157 -0
  41. package/skills/webapi-skills/references/suggest.md +111 -0
  42. package/skills/webapi-skills/references/text-search.md +282 -0
  43. package/skills/webapi-skills/scripts/validate_webapi_skill.py +158 -0
@@ -0,0 +1,157 @@
1
+ # 反向地理编码
2
+
3
+ **反向地理编码** 能够将经纬度转换为可读地址与结构化地点信息。
4
+
5
+ ## 1. 接口定义
6
+
7
+ - 接口请求方式为GET,在 Header 中传递API密钥(优先),URL备选,既安全又易于调试。
8
+
9
+ - **请求头包含** :
10
+
11
+ | **Header** | **描述** |
12
+ | --- | --- |
13
+ | Authorization: YOUR_API_KEY | 用于请求服务的API密钥。 |
14
+
15
+ **请求:** GET /search/{versionNumber}/reverse
16
+
17
+ **接口串 (Endpoint):** https://api.maptec.com/search/v1/reverse?parameters
18
+
19
+ - `parameters` 代表的参数包括必填参数和可选参数。所有参数均使用字符(&)进行分隔
20
+
21
+ ## 2. 查询参数
22
+
23
+ | 参数 | 类型 | 必填 | 说明 |
24
+ | --- | --- | --- | --- |
25
+ | apiKey | `String` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#DCFCE7;color:#166534;font-weight:600;">是</span> | 用于请求服务的API密钥。 |
26
+ | location | `String` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#DCFCE7;color:#166534;font-weight:600;">是</span> | 指定位置的纬度和经度坐标。 |
27
+ | resultType | `String` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#FEE2E2;color:#991B1B;font-weight:600;">否</span> | 一种或多种地址类型的过滤条件,以竖线 **(\|)** 分隔。<br>**注意事项:**<br>1.如果该参数包含多种地址类型,则会返回与任何一种类型匹配的所有地址。*详细类型见[《地址类型和地址组成部分》](#5.-地址类型与组成部分)*<br>2.该参数不会将搜索限定为指定的地址类型,而是在返回结果中筛选匹配指定地址类型的结果。<br>3.如果同时存在 `resultType` 和 `locationType` 过滤条件,则仅返回同时与二者值匹配的结果;如果所有过滤条件值均不可接受,则会返回 `ZERO_RESULTS`。 |
28
+ | locationType | `String` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#FEE2E2;color:#991B1B;font-weight:600;">否</span> | 一个或多个位置匹配精度类型的过滤条件,以竖线 **(\|)** 分隔。<br>取值:<br>· “ROOFTOP” 表示返回的结果是一个精确到街道地址级别的地理编码。<br>· “INTERPOLATED” 表示返回的结果为插值结果。当无法精确匹配时,通常会返回插值到两个精确点之间的位置(通常是在道路上)。<br>· “CENTER” 表示返回的结果是多段线(例如街道)或多边形(区域)等结果的几何图形中心。<br>注意事项同resultType。 |
29
+ | language | `String` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#FEE2E2;color:#991B1B;font-weight:600;">否</span> | 返回结果中可本地化文本的首选语言。取值为符合 IETF BCP 47 / RFC 5646 的语言标签,且必须在本平台支持的语言列表内。例如:`en`、`en-US`。<br>大小写不敏感,推荐使用规范大小写。若指定语言不可用、部分字段无对应翻译,或该地区数据仅有本地语言名称,则返回本地语言或平台默认语言。 <br>默认值:`en`。 |
30
+ | region | `String` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#FEE2E2;color:#991B1B;font-weight:600;">否</span> | 国家/地区代码,设置返回偏向特定地区的结果。该参数不会将结果严格限制在指定国家/地区内。<br>取值为 ISO 3166-1 alpha-2 / CLDR two-letter region code,大小写不敏感,推荐使用大写形式。例如:`BR`、`SG`。 |
31
+
32
+ ## 3. 标准返回值
33
+
34
+ ### 3.1 顶级对象
35
+
36
+ | 字段 | 类型 | 说明 |
37
+ | --- | --- | --- |
38
+ | status | `String` | 响应请求的状态码。可能包含以下值:<br>`"OK"` 表示请求成功,并且至少返回了一条结果。<br>`"ZERO_RESULTS"` 表示请求成功,但未返回任何结果。<br>`"ERROR"` 表示请求失败。 |
39
+ | results | `GeoResult[]` | 以 JSON 对象的形式返回响应。当服务返回结果时,会将结果放置在 results 数组中。即使未返回任何结果(例如,地址不存在),仍会返回一个空的 results 数组。 |
40
+ | error | `Error Object` | 当 `"status"` 为 `"ERROR"` 时返回,含 `code`、`message`。 |
41
+
42
+ ### 3.2 GeoResult 对象
43
+
44
+ | 字段 | 类型 | 描述 |
45
+ | --- | --- | --- |
46
+ | placeId | `String` | 地点的唯一标识符,可与其他服务搭配使用。 |
47
+ | formattedAddress | `String` | 该位置格式化后完整地址。 |
48
+ | types | `String[]` | 返回结果的实体类型,用于标识结果中所返回的地图项的类型。*详细类型见[《地址类型和地址组成部分》](#5.-地址类型与组成部分)*。 |
49
+ | languageCode | `String` | 符合 IETF BCP 47 / RFC 5646 的语言标签。如 `en-US`。 |
50
+ | addressComponents | `AddressComponent[]` | 结构化地址组件数组,包含适用于该地址的各个组成部分。 |
51
+ | geometry | `Geometry Object` | 返回要素空间几何形状与坐标置信度评价。 |
52
+ | supplementaryInfo | `Object` | 附加元数据与辅助描述。 |
53
+
54
+ ### 3.3 AddressComponent 对象
55
+
56
+ | 字段 | 类型 | 描述 |
57
+ | --- | --- | --- |
58
+ | type | `String` | 表示地址组成部分的通用类型。 |
59
+ | localType | `String` | 当地称呼。 |
60
+ | longName | `String` | 地址组成部分的完整文本说明或名称。 |
61
+ | shortName | `String` | 地址组成部分的缩写文本名称(如有)。 |
62
+ | isoCode | `String` | 仅 `type` 为 `country`、`region` 时返回:ISO 3166 唯一代码。 |
63
+
64
+ ### 3.4 Geometry 对象
65
+
66
+ | 字段 | 类型 | 描述 |
67
+ | --- | --- | --- |
68
+ | location | `LatLng Object` | 纬度/经度对应的对象。 |
69
+ | locationType | `String` | 位置匹配精度类型。目前支持以下值:<br>·“ROOFTOP” 表示返回的结果是一个精确到街道地址级别的地理编码。<br>·“INTERPOLATED” 表示返回的结果为插值结果。当无法精确匹配时,通常会返回插值到两个精确点之间的位置(通常是在道路上)。<br>·“CENTER” 表示返回的结果是多段线(例如街道)或多边形(区域)等结果的几何图形中心。 |
70
+ | distance | `Double` | 输入坐标与实体中心点的距离。 |
71
+ | viewport | `Viewport Object` | 返回结果的推荐视口,通过 northeast 和 southwest 定义的矩形范围。 |
72
+
73
+ ### 3.5 Viewport 对象
74
+
75
+ | 字段 | 类型 | 描述 |
76
+ | --- | --- | --- |
77
+ | northeast | `LatLng Object` | 推荐视口的矩形区域东北角。 |
78
+ | southwest | `LatLng Object` | 推荐视口的矩形区域西南角。 |
79
+
80
+ ### 3.6 supplementaryInfo 对象
81
+
82
+ | 字段 | 类型 | 描述 |
83
+ | --- | --- | --- |
84
+ | externalId | `String` | 本地官方编码(如阿联酋 Makani码)。 |
85
+ | relativeLocation | `String` | 相对位置描述(地址上下文)。 |
86
+
87
+ ## 4. JSON 示例
88
+
89
+ ```json
90
+ {
91
+ "status": "OK",
92
+ "results": [
93
+ {
94
+ "placeId": "ChIJRxcAvRO7j4AR6hm6tys8yA8",
95
+ "formattedAddress": "Unit 201, Marina Heights, Dubai Marina, Dubai, AE",
96
+ "types": ["premise"],
97
+ "languageCode": "en-US",
98
+ "addressComponents": [
99
+ {
100
+ "type": "country",
101
+ "longName": "United Arab Emirates",
102
+ "shortName": "AE",
103
+ "isoCode": "AE"
104
+ },
105
+ {
106
+ "type": "region",
107
+ "localType": "Emirate",
108
+ "longName": "Dubai",
109
+ "isoCode": "AE-DU"
110
+ },
111
+ {
112
+ "type": "premise",
113
+ "longName": "Marina Heights"
114
+ }
115
+ ],
116
+ "geometry": {
117
+ "location": {
118
+ "lat": 25.08,
119
+ "lng": 55.14
120
+ },
121
+ "locationType": "ROOFTOP",
122
+ "distance":33.4787,
123
+ "viewport": {
124
+ "northeast": {
125
+ "latitude": 40.780785,
126
+ "longitude": -73.961895
127
+ },
128
+ "southwest": {
129
+ "latitude": 40.778088,
130
+ "longitude": -73.964593
131
+ }
132
+ }
133
+ },
134
+ "supplementaryInfo": {
135
+ "externalId": "1234567890",
136
+ "relativeLocation": "Next to the Marina Pharmacy"
137
+ }
138
+ }
139
+ ]
140
+ }
141
+ ```
142
+
143
+ ## 5. 地址类型与组成部分
144
+
145
+ | 地址类型 | 说明 |
146
+ | --- | --- |
147
+ | `country` | 表示国家政治实体(ISO 3166-1 alpha-2) |
148
+ | `region` | 一级行政区(ISO 3166-2,省/州/自治区/酋长国等) |
149
+ | `subregion` | 二级行政区(地级市/郡/县),在部分国家不常用 |
150
+ | `locality` | 城镇/核心城市,用户常用的行政定位 |
151
+ | `sublocality` | 区/街道/社区,对于在人口密集的亚洲/拉美是非常关键的 |
152
+ | `neighborhood` | 最小地块单元(小区/村/住宅区) |
153
+ | `thoroughfare` | 道路名称 |
154
+ | `premise` | 门牌号、楼栋号 |
155
+ | `subpremise` | 单元/楼层/房间号(通常由用户手动输入) |
156
+ | `postalCode` | 表示国家/地区内邮寄地址所用的邮政编码 |
157
+ | `intersection` | 主要交叉路口,通常是两条主要道路的交叉路口 |
@@ -0,0 +1,111 @@
1
+ # 输入提示搜索
2
+
3
+ **输入提示搜索** 是根据用户输入的字符串提供地点候选建议,使用户能够更快捷的选择地点并查询,实现交互式搜索。
4
+
5
+ ## 1. 接口定义
6
+
7
+ - 接口请求方式为POST,在JSON请求 Body 或 Header 中传递所有参数,作为POST请求的一部分。
8
+ - **请求头包含**:
9
+
10
+ | **Header** | **描述** |
11
+ | --- | --- |
12
+ | Authorization: YOUR_API_KEY | 用于请求服务的API密钥。 |
13
+ | Content-Type:application/json | 声明客户端发送给服务器的数据格式(仅POST请求) |
14
+
15
+ **请求:** POST /search/{versionNumber}/suggest
16
+
17
+ **接口串 (Endpoint):** https://api.maptec.com/search/v1/suggest
18
+
19
+ ## 2. 请求参数
20
+
21
+ ### 2.1 顶级对象
22
+
23
+ | 参数 | 类型 | 必填 | 说明 |
24
+ | :--- | :--- | :--- | :--- |
25
+ | query | `String` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#DCFCE7;color:#166534;font-weight:600;">是</span> | 查询字符串。 |
26
+ | types | `String` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#FEE2E2;color:#991B1B;font-weight:600;">否</span> | 指定查询结果的类型,以获取匹配类型的地点,仅支持一种类型,如 `"type=hotels"`。详见[国际化通用POI分类定义](https://maptech.yuque.com/ak9qv5/slwxa2/lwr040btgea2gso9)。<br> 若未设置该参数,则服务将返回指定查询区域内的所有类型的地点。 |
27
+ | locationBias | `Object` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#FEE2E2;color:#991B1B;font-weight:600;">否</span> | 指定查询区域,返回指定位置附近的结果(包括指定区域之外的结果)。区域设置支持矩形或圆形。<br>注意事项:<br> 该参数与 `locationLimit` 互斥;若两者均未设置,则默认使用定位中心点返回数据。 |
28
+ | locationLimit | `Object` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#FEE2E2;color:#991B1B;font-weight:600;">否</span> | 指定查询区域,仅返回指定区域内的结果。区域设置支持矩形或圆形(规则同 `locationBias`)。<br> 该参数与 `locationBias` 互斥,若两者均未设置,则默认使用定位中心点返回数据。 |
29
+ | resultlimit | `Integer` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#FEE2E2;color:#991B1B;font-weight:600;">否</span> | 指定返回地点结果数上限,取值范围 [1, 20],默认 20 条。 |
30
+ | language | `String` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#FEE2E2;color:#991B1B;font-weight:600;">否</span> | 返回结果中可本地化文本的首选语言。取值为符合 IETF BCP 47 / RFC 5646 的语言标签,且必须在本平台支持的语言列表内。例如:`en`、`en-US`。 <br>大小写不敏感,推荐使用规范大小写。若指定语言不可用、部分字段无对应翻译,或该地区数据仅有本地语言名称,则返回本地语言或平台默认语言。 <br>默认值:`en`。 |
31
+ | region | `String` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#FEE2E2;color:#991B1B;font-weight:600;">否</span> | 国家/地区代码,设置返回偏向特定地区的结果。该参数不会将结果严格限制在指定国家/地区内。<br>取值为 ISO 3166-1 alpha-2 / CLDR two-letter region code,大小写不敏感,推荐使用大写形式。例如:`BR`、`SG`。 |
32
+
33
+ ### 2.2 Rectangle 对象
34
+
35
+ *用于 `locationBias`、`locationLimit` 参数。*
36
+
37
+ | 字段 | 类型 | 说明 |
38
+ | --- | --- | --- |
39
+ | northeast | `LatLng Object` | 矩形框的东北角 |
40
+ | southwest | `LatLng Object` | 矩形框的西南角 |
41
+
42
+ ### 2.3 Circle 对象
43
+
44
+ *用于 `locationBias`、`locationLimit` 参数。*
45
+
46
+ | 字段 | 类型 | 说明 |
47
+ | --- | --- | --- |
48
+ | center | `LatLng Object` | 中心点 |
49
+ | radius | `Number` | 半径(米),取值 `[0, 50000]` ,默认 `0` |
50
+
51
+ ### 2.4 LatLng 对象
52
+
53
+ *用于 Rectangle、Circle 中的坐标表示。*
54
+
55
+ | 字段 | 类型 | 说明 |
56
+ | --- | --- | --- |
57
+ | latitude | `Number` | 纬度值(以度为单位),取值 `[-90.0, +90.0]` |
58
+ | longitude | `Number` | 经度值(以度为单位),取值 `[-180.0, +180.0]` |
59
+
60
+ ## 3. 返回标准值
61
+
62
+ ### 3.1 顶级响应对象
63
+
64
+ | 字段 | 类型 | 说明 |
65
+ | --- | --- | --- |
66
+ | status | `String` | 响应请求的状态码。可能包含以下值:<br>`"OK"` 表示请求成功,并且至少返回了一条结果。<br>`"ZERO_RESULTS"` 表示请求成功,但未返回任何结果。<br>`"ERROR"` 表示请求失败。 |
67
+ | suggestions | `Suggestion[]` | 以 JSON 对象的形式返回响应。当服务返回结果时,会将结果放置在 suggestions 数组中,数组包含所有匹配的输入提示。 |
68
+ | error | `Error Object` | 当 `"status"` 为 `"ERROR"` 时返回,含 `code`、`message` |
69
+
70
+ ### 3.2 Suggestion 对象
71
+
72
+ | 字段 | 类型 | 说明 |
73
+ | --- | --- | --- |
74
+ | placeName | `String` | 地点的资源名称,格式 `places/{placeId}` ,可用于地点详情查询。 |
75
+ | placeId | `String` | 地点的唯一标识符,可与其他服务搭配使用。 |
76
+ | text | `LocalizedText Object` | 输入提示文本。 |
77
+
78
+ ### 3.3 LocalizedText 对象
79
+
80
+ *用于 Suggestion.text。*
81
+
82
+ | 字段 | 类型 | 说明 |
83
+ | --- | --- | --- |
84
+ | text | `String` | 显示文本字符串,语言同 `languageCode` |
85
+ | languageCode | `String` | 符合 IETF BCP 47 / RFC 5646 的语言标签,如 `en-US` |
86
+
87
+ ### 3.4 Error 对象
88
+
89
+ | 字段 | 类型 | 说明 |
90
+ | --- | --- | --- |
91
+ | code | `String` | 错误码 |
92
+ | message | `String` | 错误信息描述 |
93
+
94
+ ## 4. JSON示例
95
+
96
+ ```json
97
+ {
98
+ "suggestions": [
99
+ {
100
+ "placeName":"places/ChIJkQQVTZqAhYARHxPt2iJkm1Q",
101
+ "placeId":"ChIJkQQVTZqAhYARHxPt2iJkm1Q",
102
+ "text": {
103
+ "text": "Mother Chu's Vegetarian Kitchen",
104
+ "languageCode": "en"
105
+ }
106
+ },
107
+ ...
108
+ ],
109
+ "status": "OK"
110
+ }
111
+ ```
@@ -0,0 +1,282 @@
1
+ # 文本搜索
2
+
3
+ **文本搜索** 是通过文本字符串实现指定地点搜索,以获取该地点的详细信息,包括位置、类型、详情、地点ID等信息。
4
+
5
+ ## 1. 接口定义
6
+
7
+ - 接口请求方式为POST,在JSON请求 Body 或 Header 中传递所有参数,作为POST请求的一部分。
8
+ - **请求头包含**:
9
+
10
+ | **Header** | **描述** |
11
+ | --- | --- |
12
+ | Authorization: YOUR_API_KEY | 用于请求服务的API密钥。 |
13
+ | Content-Type:application/json | 声明客户端发送给服务器的数据格式(仅POST请求) |
14
+
15
+ **请求:** POST /search/{versionNumber}/text
16
+
17
+ **接口串 (Endpoint):** https://api.maptec.com/search/v1/text
18
+
19
+ ## 2. 请求参数
20
+
21
+ ### 2.1 顶级对象
22
+
23
+ | 参数 | 类型 | 必填 | 说明 |
24
+ | --- | --- | --- | --- |
25
+ | query | `String` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#DCFCE7;color:#166534;font-weight:600;">是</span> | 查询字符串:地点名称、地点类型、结构化地址、明确地理空间元素或意图。如:`“Eismieze Berlin”`、`“Hotels”`、`“123 Main Street”`。<br>1. 不适用于模糊查询(如单个查询中包含多个地点、道路或城市名称);不支持经纬度坐标。<br>2. 若字符串中存在空格、网址、电子邮件或其他超出范围的字符串,将不会产生返回结果。<br>3. 必须经过正确 URL 编码。 |
26
+ | type | `String` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#FEE2E2;color:#991B1B;font-weight:600;">否</span> | 指定查询结果的类型,以获取匹配类型的地点,仅支持一种类型,如 `"type=hotels"`。*详细类型见[国际化通用POI分类定义](https://maptech.yuque.com/ak9qv5/slwxa2/lwr040btgea2gso9)*<br>仅适用于某些类型的查询(如“附近的酒店”或“购物中心”),不适用于指定地址的查询(如“123 Main Street”)、行政编制查询(如行政区、国家等) |
27
+ | locationBias | `Object` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#FEE2E2;color:#991B1B;font-weight:600;">否</span> | 指定查询区域,返回指定位置附近的结果(包括指定区域之外的结果)。区域设置支持矩形或圆形。<br>注意事项:<br>1. 该参数与 `locationLimit` 互斥;若两者均未设置,则默认使用定位中心点返回数据。<br>2. 若 `query` 含明确位置信息(如旧金山最佳旅游景点),则会忽略该参数。 |
28
+ | locationLimit | `Object` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#FEE2E2;color:#991B1B;font-weight:600;">否</span> | 指定查询区域,仅返回指定区域内的结果。区域设置支持矩形或圆形(规则同 `locationBias`)。<br> 该参数与 `locationBias` 互斥,若两者均未设置,则默认使用定位中心点返回数据。 |
29
+ | pageSize | `Integer` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#FEE2E2;color:#991B1B;font-weight:600;">否</span> | 指定每页显示的结果数,取值范围 [1, 20],默认 20 条。<br>1. 若返回的结果数比设置的显示结果数多,则响应包含一个 `nextPageToken`,用于请求下一页。<br>2. 若该参数设置超出取值范围或未设置,则每页返回结果默认20条。 |
30
+ | pageToken | `String` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#FEE2E2;color:#991B1B;font-weight:600;">否</span> | 指定上一个请求的响应正文中的 `nextPageToken`,用于请求下一页结果。 |
31
+ | rank | `Enum` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#FEE2E2;color:#991B1B;font-weight:600;">否</span> | 指定响应结果的排序方式。类别查询支持设置该参数,默认值为`RELEVANCE`;非类别查询,建议不设置该参数。<br>取值:`RELEVANCE` (搜索相关性)\|`DISTANCE`(按距离排序) |
32
+ | language | `String` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#FEE2E2;color:#991B1B;font-weight:600;">否</span> | 返回结果中可本地化文本的首选语言。取值为符合 IETF BCP 47 / RFC 5646 的语言标签,且必须在本平台支持的语言列表内。例如:`en`、`en-US`。 <br>大小写不敏感,推荐使用规范大小写。若指定语言不可用、部分字段无对应翻译,或该地区数据仅有本地语言名称,则返回本地语言或平台默认语言。 <br>默认值:`en`。 |
33
+ | region | `String` | <span style="display:inline-block;padding:2px 10px;border-radius:999px;background:#FEE2E2;color:#991B1B;font-weight:600;">否</span> | 国家/地区代码,设置返回偏向特定地区的结果。该参数不会将结果严格限制在指定国家/地区内。<br>取值为 ISO 3166-1 alpha-2 / CLDR two-letter region code,大小写不敏感,推荐使用大写形式。例如:`BR`、`SG`。 |
34
+
35
+ ### 2.2 Rectangle 对象
36
+
37
+ *用于 `locationBias`、`locationLimit` 参数。*
38
+
39
+ | 字段 | 类型 | 说明 |
40
+ | --- | --- | --- |
41
+ | northeast | `LatLng Object` | 矩形框的东北角 |
42
+ | southwest | `LatLng Object` | 矩形框的西南角 |
43
+
44
+ ### 2.3 Circle 对象
45
+
46
+ *用于 `locationBias`、`locationLimit` 参数。*
47
+
48
+ | 字段 | 类型 | 说明 |
49
+ | --- | --- | --- |
50
+ | center | `LatLng Object` | 中心点 |
51
+ | radius | `Number` | 圆形半径(米),取值 `[0, 50000]` ,默认 `0` |
52
+
53
+ ### 2.4 LatLng 对象
54
+
55
+ *用于 Rectangle、Circle、Place.location、Viewport 中的坐标表示。*
56
+
57
+ | 字段 | 类型 | 说明 |
58
+ | --- | --- | --- |
59
+ | latitude | `Number` | 纬度值(以度为单位),取值 `[-90.0, +90.0]` |
60
+ | longitude | `Number` | 经度值(以度为单位),取值 `[-180.0, +180.0]` |
61
+
62
+ ## 3. 返回标准值
63
+
64
+ ### 3.1 顶级响应对象
65
+
66
+ | 字段 | 类型 | 说明 |
67
+ | --- | --- | --- |
68
+ | status | `String` | 响应请求的状态码。可能包含以下值:<br>`"OK"` 表示请求成功,并且至少返回了一条结果。<br>`"ZERO_RESULTS"` 表示请求成功,但未返回任何结果。<br>`"ERROR"` 表示请求失败。 |
69
+ | nextPageToken | `String` | 可以作为`pageToken`参数输入,用于请求下一页的结果。<br> 若该字段为空,代表不存在后续页面。 |
70
+ | places | `Place[]` | 以 JSON 对象的形式返回响应。当服务返回结果时,会将结果放置在 places 数组中,数组包含所有匹配地点。<br> 数组中的每个地点都由一个 `Place` 对象表示。`Place` 对象包含单个地点的详细信息。 |
71
+ | error | `Error Object` | 当 `"status"` 为 `"ERROR"` 时返回,含 `code`、`message` |
72
+
73
+ ### 3.2 Place 对象
74
+
75
+ | 字段 | 类型 | 说明 |
76
+ | --- | --- | --- |
77
+ | id | `String` | 地点的唯一标识符,可以与其他服务搭配使用。 |
78
+ | name | `String` | 地点的资源名称,如 `places/{placeId}`,可用于地点详情查询。 |
79
+ | displayName | `LocalizedText Object` | 地点的显示名称。 |
80
+ | types | `String[]` | 返回结果类型。*详细类型见[国际化通用POI分类定义](https://maptech.yuque.com/ak9qv5/slwxa2/lwr040btgea2gso9)* |
81
+ | formattedAddress | `String` | 该位置的地址,包含了一个或多个地址组成部分。 |
82
+ | addressComponents | `AddressComponent[]` | 包含适用于该地址的各个组成部分。<br>注意事项:<br> 地址组成部分的数组包含的组成部分可能多于 `formattedAddress`。<br> 除了 `formattedAddress` 中包含的地点之外,数组不一定会纳入包含地址的所有地点,应使用反向地理编码,并将地址的纬度/经度作为参数传递给请求。 |
83
+ | phoneNumber | `String` | 地点的电话号码。多个电话号码之间用英文逗号分隔。 |
84
+ | location | `LatLng Object` | 地点的地理位置 |
85
+ | openingHours | `OpeningHours Object` | 地点营业时间 |
86
+ | viewport | `Viewport Object` | 返回结果的推荐视口,通过 `northeast` 和 `southwest` 定义的矩形范围。 |
87
+ | timeZone | `TimeZone Object` | [IANA 时区数据库](https://www.iana.org/time-zones)时区,如 `"America/New_York"` |
88
+ | summary | `LocalizedText Object` | 地点摘要信息 |
89
+
90
+ ### 3.3 LocalizedText 对象
91
+
92
+ 本地化语言文本
93
+ *用于 Place.displayName、Place.summary。*
94
+
95
+ | 字段 | 类型 | 说明 |
96
+ | --- | --- | --- |
97
+ | text | `String` | 显示名称字符串,语言同 `languageCode` |
98
+ | languageCode | `String` | 符合 IETF BCP 47 / RFC 5646 的语言标签,如 `en-US` |
99
+
100
+ ### 3.4 AddressComponent 对象
101
+
102
+ *用于 Place.addressComponents。*
103
+
104
+ | 字段 | 类型 | 说明 |
105
+ | --- | --- | --- |
106
+ | longName | `String` | 地址组成部分的完整文本说明或名称。 |
107
+ | shortName | `String` | 地址组成部分的缩写名称(如有)。 |
108
+ | types | `String[]` | 一个数组,表示地址组成部分的类型。 |
109
+ | languageCode | `String` | 符合 IETF BCP 47 / RFC 5646 的语言标签,如 `en-US` |
110
+
111
+ ### 3.5 LatLng 对象
112
+
113
+ | 字段 | 类型 | 说明 |
114
+ | --- | --- | --- |
115
+ | latitude | `Number` | 纬度值(以度为单位),取值 `[-90.0, +90.0]` |
116
+ | longitude | `Number` | 经度值(以度为单位),取值 `[-180.0, +180.0]` |
117
+
118
+ ### 3.6 Viewport 对象
119
+
120
+ *用于 Place.viewport。*
121
+
122
+ | 字段 | 类型 | 说明 |
123
+ | --- | --- | --- |
124
+ | northeast | `LatLng Object` | 推荐视口矩形区域的东北角 |
125
+ | southwest | `LatLng Object` | 推荐视口矩形区域的西南角 |
126
+
127
+ ### 3.7 OpeningHours 对象
128
+
129
+ *用于 Place.openingHours。*
130
+
131
+ | 字段 | 类型 | 说明 |
132
+ | --- | --- | --- |
133
+ | openNow | `Boolean` | 当前时刻是否正在营业。根据 `timeZone` 和当前 UTC 时间实时计算的结果。`true` 表示正在营业,`false` 表示已打烊。 |
134
+ | periods | `Period[]` | 详细的周期性营业时间,包含 period Object <br> 包含一周 7 天的详细开门与关门时间。若地点 24 小时营业,则仅包含一组 `day: 0, time: "0000"` 且不含 `close`。 |
135
+ | weekdayText | `String[]` | 一个数组,包含格式化后的本地化文本描述,如 `"Monday: 09:00-19:00"` |
136
+ | nextStatusChange | `String` | 下一次状态变更时间。采用 ISO 8601 格式(UTC 时间)。例如:若当前营业,则为打烊时间;若当前打烊,则为下次开门时间。 |
137
+
138
+ ### 3.8 Period 对象
139
+
140
+ *用于 OpeningHours.periods。*
141
+
142
+ | 字段 | 类型 | 说明 |
143
+ | --- | --- | --- |
144
+ | open | `Point Object` | 开门时间 |
145
+ | close | `Point Object` | 打烊时间 |
146
+
147
+ ### 3.9 Point 对象
148
+
149
+ *用于 Period.open、Period.close。*
150
+
151
+ | 字段 | 类型 | 说明 |
152
+ | --- | --- | --- |
153
+ | day | `Integer` | 取值 0-6,分别代表星期日到星期六。 |
154
+ | time | `String` | 采用 **24 小时制固定 4 位数字格式**(hhmm)。例如 `"0900"` 代表上午 9 点,`"2130"` 代表晚上 9 点半。 |
155
+
156
+ ### 3.10 TimeZone 对象
157
+
158
+ *用于 Place.timeZone。*
159
+
160
+ | 字段 | 类型 | 说明 |
161
+ | --- | --- | --- |
162
+ | id | `String` | [IANA 时区数据库](https://www.iana.org/time-zones)时区。 |
163
+ | version | `String` | IANA 时区数据库版本号,如 `"2025b"` |
164
+
165
+ ### 3.11 Error 对象
166
+
167
+ | 字段 | 类型 | 说明 |
168
+ | --- | --- | --- |
169
+ | code | `String` | 错误码 |
170
+ | message | `String` | 错误信息描述 |
171
+
172
+ ## 4. JSON示例
173
+
174
+ ```js
175
+ {
176
+ "status": "OK",
177
+ "nextPageToken": "AU78qas8D902jkl_example_token_mX123",
178
+ "places": [
179
+ {
180
+ "id": "chij_met_art_001",
181
+ "name": "places/chij_met_art_001",
182
+ "displayName": {
183
+ "text": "大都会艺术博物馆",
184
+ "languageCode": "zh-CN"
185
+ },
186
+ "types": [
187
+ "art_gallery",
188
+ "museum",
189
+ "tourist_attraction",
190
+ "point_of_interest"
191
+ ],
192
+ "formattedAddress": "1000 5th Ave, New York, NY 10028, USA",
193
+ "addressComponents": [
194
+ {
195
+ "longName": "1000",
196
+ "shortName": "1000",
197
+ "types": ["street_number"],
198
+ "languageCode": "en-US"
199
+ },
200
+ {
201
+ "longName": "5th Avenue",
202
+ "shortName": "5th Ave",
203
+ "types": ["route"],
204
+ "languageCode": "en-US"
205
+ },
206
+ {
207
+ "longName": "Manhattan",
208
+ "shortName": "Manhattan",
209
+ "types": ["sublocality_level_1"],
210
+ "languageCode": "en-US"
211
+ },
212
+ {
213
+ "longName": "New York",
214
+ "shortName": "NY",
215
+ "types": ["administrative_area_level_1"],
216
+ "languageCode": "en-US"
217
+ },
218
+ {
219
+ "longName": "United States",
220
+ "shortName": "US",
221
+ "types": ["country"],
222
+ "languageCode": "en-US"
223
+ },
224
+ {
225
+ "longName": "10028",
226
+ "shortName": "10028",
227
+ "types": ["postal_code"],
228
+ "languageCode": "en-US"
229
+ }
230
+ ],
231
+ "phoneNumber": "+1 212-535-7710, +1 212-535-7711",
232
+ "location": {
233
+ "latitude": 40.7794366,
234
+ "longitude": -73.963244
235
+ },
236
+ {
237
+ "openingHours": {
238
+ "openNow": true,
239
+ "periods": [
240
+ { "open": { "day": 0, "time": "1000" }, "close": { "day": 0, "time": "1700" } },
241
+ { "open": { "day": 1, "time": "1000" }, "close": { "day": 1, "time": "1700" } },
242
+ { "open": { "day": 2, "time": "1000" }, "close": { "day": 2, "time": "1700" } },
243
+ { "open": { "day": 3, "time": "1000" }, "close": { "day": 3, "time": "1700" } },
244
+ { "open": { "day": 4, "time": "1000" }, "close": { "day": 4, "time": "2100" } },
245
+ { "open": { "day": 5, "time": "1000" }, "close": { "day": 5, "time": "2100" } },
246
+ { "open": { "day": 6, "time": "1000" }, "close": { "day": 6, "time": "1700" } }
247
+ ],
248
+ "weekdayText": [
249
+ "Monday: 10:00 AM – 5:00 PM",
250
+ "Tuesday: 10:00 AM – 5:00 PM",
251
+ "Wednesday: 10:00 AM – 5:00 PM",
252
+ "Thursday: 10:00 AM – 5:00 PM",
253
+ "Friday: 10:00 AM – 9:00 PM",
254
+ "Saturday: 10:00 AM – 9:00 PM",
255
+ "Sunday: 10:00 AM – 5:00 PM"
256
+ ],
257
+ "nextStatusChange": "2025-12-01T17:00:00Z"
258
+ }
259
+ },
260
+ "viewport": {
261
+ "northeast": {
262
+ "latitude": 40.780785,
263
+ "longitude": -73.961895
264
+ },
265
+ "southwest": {
266
+ "latitude": 40.778088,
267
+ "longitude": -73.964593
268
+ }
269
+ },
270
+ "timeZone": {
271
+ "id": "America/New_York",
272
+ "version": "2025b"
273
+ },
274
+ "summary": {
275
+ "text": "世界著名的艺术博物馆,收藏跨越五千年的艺术珍品。",
276
+ "languageCode": "zh-CN"
277
+ }
278
+ }
279
+ ],
280
+ "error": null
281
+ }
282
+ ```