expo-gaode-map-navigation 2.0.12 → 2.0.14
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.
- package/README.md +29 -16
- package/android/build.gradle +8 -4
- package/android/src/main/AndroidManifest.xml +8 -0
- package/android/src/main/java/expo/modules/gaodemap/map/ExpoGaodeMapOfflineModule.kt +83 -15
- package/android/src/main/java/expo/modules/gaodemap/map/ExpoGaodeMapView.kt +13 -3
- package/android/src/main/java/expo/modules/gaodemap/map/managers/UIManager.kt +36 -39
- package/android/src/main/java/expo/modules/gaodemap/map/overlays/ClusterView.kt +5 -2
- package/android/src/main/java/expo/modules/gaodemap/map/overlays/HeatMapView.kt +122 -10
- package/android/src/main/java/expo/modules/gaodemap/map/overlays/HeatMapViewModule.kt +2 -2
- package/android/src/main/java/expo/modules/gaodemap/map/search/ExpoGaodeMapSearchModule.kt +751 -0
- package/build/index.d.ts +26 -126
- package/build/index.d.ts.map +1 -1
- package/build/index.js +11 -612
- package/build/index.js.map +1 -1
- package/build/map/ExpoGaodeMapOfflineModule.d.ts +5 -0
- package/build/map/ExpoGaodeMapOfflineModule.d.ts.map +1 -1
- package/build/map/ExpoGaodeMapOfflineModule.js.map +1 -1
- package/build/map/components/overlays/HeatMap.d.ts.map +1 -1
- package/build/map/components/overlays/HeatMap.js +21 -2
- package/build/map/components/overlays/HeatMap.js.map +1 -1
- package/build/map/index.d.ts +3 -0
- package/build/map/index.d.ts.map +1 -1
- package/build/map/index.js +3 -0
- package/build/map/index.js.map +1 -1
- package/build/map/search/ExpoGaodeMapSearch.types.d.ts +340 -0
- package/build/map/search/ExpoGaodeMapSearch.types.d.ts.map +1 -0
- package/build/map/search/ExpoGaodeMapSearch.types.js +19 -0
- package/build/map/search/ExpoGaodeMapSearch.types.js.map +1 -0
- package/build/map/search/ExpoGaodeMapSearchModule.d.ts +74 -0
- package/build/map/search/ExpoGaodeMapSearchModule.d.ts.map +1 -0
- package/build/map/search/ExpoGaodeMapSearchModule.js +47 -0
- package/build/map/search/ExpoGaodeMapSearchModule.js.map +1 -0
- package/build/map/search/index.d.ts +156 -0
- package/build/map/search/index.d.ts.map +1 -0
- package/build/map/search/index.js +171 -0
- package/build/map/search/index.js.map +1 -0
- package/build/map/types/map-view.types.d.ts +4 -2
- package/build/map/types/map-view.types.d.ts.map +1 -1
- package/build/map/types/map-view.types.js.map +1 -1
- package/build/map/utils/ErrorHandler.js +11 -11
- package/build/map/utils/ErrorHandler.js.map +1 -1
- package/build/map/utils/OfflineMapManager.d.ts +4 -0
- package/build/map/utils/OfflineMapManager.d.ts.map +1 -1
- package/build/map/utils/OfflineMapManager.js +6 -0
- package/build/map/utils/OfflineMapManager.js.map +1 -1
- package/build/route-geometry.d.ts +13 -0
- package/build/route-geometry.d.ts.map +1 -0
- package/build/route-geometry.js +154 -0
- package/build/route-geometry.js.map +1 -0
- package/build/route-planning.d.ts +21 -0
- package/build/route-planning.d.ts.map +1 -0
- package/build/route-planning.js +67 -0
- package/build/route-planning.js.map +1 -0
- package/build/web-api-fallback.d.ts +5 -0
- package/build/web-api-fallback.d.ts.map +1 -0
- package/build/web-api-fallback.js +160 -0
- package/build/web-api-fallback.js.map +1 -0
- package/build/web-route-following.d.ts +3 -0
- package/build/web-route-following.d.ts.map +1 -0
- package/build/web-route-following.js +178 -0
- package/build/web-route-following.js.map +1 -0
- package/expo-module.config.json +4 -2
- package/ios/ExpoGaodeMapNaviView.swift +16 -17
- package/ios/ExpoGaodeMapNavigation.podspec +2 -1
- package/ios/map/ExpoGaodeMapOfflineModule.swift +61 -0
- package/ios/map/ExpoGaodeMapSearchModule.swift +773 -0
- package/ios/map/modules/LocationManager.swift +9 -3
- package/ios/map/overlays/PolylineView.swift +6 -12
- package/package.json +2 -2
- package/plugin/build/withGaodeMap.js +12 -0
- package/android/src/main/java/expo/modules/gaodemap/navigation/managers/RouteCalculator.kt +0 -173
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 搜索类型
|
|
3
|
+
*/
|
|
4
|
+
export declare enum SearchType {
|
|
5
|
+
/** POI 搜索 */
|
|
6
|
+
POI = "poi",
|
|
7
|
+
/** 周边搜索 */
|
|
8
|
+
NEARBY = "nearby",
|
|
9
|
+
/** 沿途搜索 */
|
|
10
|
+
ALONG = "along",
|
|
11
|
+
/** 多边形搜索 */
|
|
12
|
+
POLYGON = "polygon",
|
|
13
|
+
/** 输入提示 */
|
|
14
|
+
INPUT_TIPS = "inputTips",
|
|
15
|
+
/** 逆地理编码 */
|
|
16
|
+
RE_GEOCODE = "reGeocode"
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 沿途搜索支持的 POI 类型。
|
|
20
|
+
*
|
|
21
|
+
* 高德沿途搜索 SDK 不是通用 POI 搜索,只支持这些固定类型。
|
|
22
|
+
*/
|
|
23
|
+
export type RoutePOIType = 'gasStation' | 'maintenanceStation' | 'atm' | 'toilet' | 'gasAirStation' | 'serviceArea' | 'chargingPile' | 'food' | 'hotel';
|
|
24
|
+
/**
|
|
25
|
+
* 坐标点
|
|
26
|
+
*/
|
|
27
|
+
export interface Coordinates {
|
|
28
|
+
latitude: number;
|
|
29
|
+
longitude: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* POI 信息
|
|
33
|
+
*/
|
|
34
|
+
export interface POI {
|
|
35
|
+
/** POI ID */
|
|
36
|
+
id: string;
|
|
37
|
+
/** 名称 */
|
|
38
|
+
name: string;
|
|
39
|
+
/** 地址 */
|
|
40
|
+
address: string;
|
|
41
|
+
/** 坐标 */
|
|
42
|
+
location: Coordinates;
|
|
43
|
+
/** 类型编码 */
|
|
44
|
+
typeCode: string;
|
|
45
|
+
/** 类型描述 */
|
|
46
|
+
typeDes: string;
|
|
47
|
+
/** 电话 */
|
|
48
|
+
tel?: string;
|
|
49
|
+
/** 距离(米),仅周边搜索返回 */
|
|
50
|
+
distance?: number;
|
|
51
|
+
/** 城市名称 */
|
|
52
|
+
cityName?: string;
|
|
53
|
+
/** 城市编码 */
|
|
54
|
+
cityCode?: string;
|
|
55
|
+
/** 省份名称 */
|
|
56
|
+
provinceName?: string;
|
|
57
|
+
/** 区域名称 */
|
|
58
|
+
adName?: string;
|
|
59
|
+
/** 区域编码 */
|
|
60
|
+
adCode?: string;
|
|
61
|
+
/**
|
|
62
|
+
* 深度信息 (Android SDK V9.4.0+ 新增)
|
|
63
|
+
* 包含评分、营业时间、人均消费等扩展信息
|
|
64
|
+
*/
|
|
65
|
+
business?: {
|
|
66
|
+
opentime?: string;
|
|
67
|
+
opentimeToday?: string;
|
|
68
|
+
rating?: string;
|
|
69
|
+
cost?: string;
|
|
70
|
+
parkingType?: string;
|
|
71
|
+
tag?: string;
|
|
72
|
+
tel?: string;
|
|
73
|
+
alias?: string;
|
|
74
|
+
businessArea?: string;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* 图片信息
|
|
78
|
+
*/
|
|
79
|
+
photos?: Array<{
|
|
80
|
+
title?: string;
|
|
81
|
+
url?: string;
|
|
82
|
+
}>;
|
|
83
|
+
/** 室内地图信息 */
|
|
84
|
+
indoor?: {
|
|
85
|
+
/** 楼层 */
|
|
86
|
+
floor?: string;
|
|
87
|
+
/** 楼层名称 */
|
|
88
|
+
floorName?: string;
|
|
89
|
+
/** POI ID */
|
|
90
|
+
poiId?: string;
|
|
91
|
+
/** 是否有室内地图 */
|
|
92
|
+
hasIndoorMap?: boolean;
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* 商圈信息
|
|
97
|
+
*/
|
|
98
|
+
export interface BusinessArea {
|
|
99
|
+
/** 名称 */
|
|
100
|
+
name: string;
|
|
101
|
+
/** 中心坐标 */
|
|
102
|
+
location: Coordinates;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* 地址组成要素
|
|
106
|
+
*/
|
|
107
|
+
export interface AddressComponent {
|
|
108
|
+
/** 省名称 */
|
|
109
|
+
province: string;
|
|
110
|
+
/** 市名称 */
|
|
111
|
+
city: string;
|
|
112
|
+
/** 区名称 */
|
|
113
|
+
district: string;
|
|
114
|
+
/** 乡镇名称 */
|
|
115
|
+
township: string;
|
|
116
|
+
/** 社区名称 */
|
|
117
|
+
neighborhood: string;
|
|
118
|
+
/** 建筑名称 */
|
|
119
|
+
building: string;
|
|
120
|
+
/** 城市编码 */
|
|
121
|
+
cityCode: string;
|
|
122
|
+
/** 区域编码 */
|
|
123
|
+
adCode: string;
|
|
124
|
+
/** 门牌信息 */
|
|
125
|
+
streetNumber: {
|
|
126
|
+
/** 街道名称 */
|
|
127
|
+
street: string;
|
|
128
|
+
/** 门牌号 */
|
|
129
|
+
number: string;
|
|
130
|
+
/** 坐标点 */
|
|
131
|
+
location?: Coordinates;
|
|
132
|
+
/** 方向 */
|
|
133
|
+
direction: string;
|
|
134
|
+
/** 距离 */
|
|
135
|
+
distance: number;
|
|
136
|
+
};
|
|
137
|
+
/** 商圈列表 */
|
|
138
|
+
businessAreas?: BusinessArea[];
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* 道路信息
|
|
142
|
+
*/
|
|
143
|
+
export interface Road {
|
|
144
|
+
/** 道路ID */
|
|
145
|
+
id: string;
|
|
146
|
+
/** 道路名称 */
|
|
147
|
+
name: string;
|
|
148
|
+
/** 距离 */
|
|
149
|
+
distance: number;
|
|
150
|
+
/** 方向 */
|
|
151
|
+
direction: string;
|
|
152
|
+
/** 坐标点 */
|
|
153
|
+
location: Coordinates;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* 道路交叉口信息
|
|
157
|
+
*/
|
|
158
|
+
export interface RoadCross {
|
|
159
|
+
/** 距离 */
|
|
160
|
+
distance: number;
|
|
161
|
+
/** 方向 */
|
|
162
|
+
direction: string;
|
|
163
|
+
/** 交叉口坐标 */
|
|
164
|
+
location: Coordinates;
|
|
165
|
+
/** 第一条道路ID */
|
|
166
|
+
firstId: string;
|
|
167
|
+
/** 第一条道路名称 */
|
|
168
|
+
firstName: string;
|
|
169
|
+
/** 第二条道路ID */
|
|
170
|
+
secondId: string;
|
|
171
|
+
/** 第二条道路名称 */
|
|
172
|
+
secondName: string;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* 兴趣区域信息
|
|
176
|
+
*/
|
|
177
|
+
export interface AOI {
|
|
178
|
+
/** AOI ID */
|
|
179
|
+
id: string;
|
|
180
|
+
/** AOI 名称 */
|
|
181
|
+
name: string;
|
|
182
|
+
/** 区域编码 */
|
|
183
|
+
adCode: string;
|
|
184
|
+
/** 中心点坐标 */
|
|
185
|
+
location: Coordinates;
|
|
186
|
+
/** 面积 */
|
|
187
|
+
area: number;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* 逆地理编码选项
|
|
191
|
+
*/
|
|
192
|
+
export interface ReGeocodeOptions {
|
|
193
|
+
/** 经纬度坐标 */
|
|
194
|
+
location: Coordinates;
|
|
195
|
+
/** 搜索半径,默认 1000 米 */
|
|
196
|
+
radius?: number;
|
|
197
|
+
/** 是否返回扩展信息,默认 true */
|
|
198
|
+
requireExtension?: boolean;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* 逆地理编码结果
|
|
202
|
+
*/
|
|
203
|
+
export interface ReGeocodeResult {
|
|
204
|
+
/** 格式化地址 */
|
|
205
|
+
formattedAddress: string;
|
|
206
|
+
/** 地址组成要素 */
|
|
207
|
+
addressComponent: AddressComponent;
|
|
208
|
+
/** 兴趣点列表 */
|
|
209
|
+
pois: POI[];
|
|
210
|
+
/** 道路列表 */
|
|
211
|
+
roads: Road[];
|
|
212
|
+
/** 道路交叉口列表 */
|
|
213
|
+
roadCrosses: RoadCross[];
|
|
214
|
+
/** 兴趣区域列表 */
|
|
215
|
+
aois: AOI[];
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* POI 搜索选项
|
|
219
|
+
*/
|
|
220
|
+
export interface POISearchOptions {
|
|
221
|
+
/** 搜索关键词 */
|
|
222
|
+
keyword: string;
|
|
223
|
+
/** 城市名称或城市编码(可选) */
|
|
224
|
+
city?: string;
|
|
225
|
+
/** POI 类型(可选),多个类型用 | 分隔 */
|
|
226
|
+
types?: string;
|
|
227
|
+
/** 每页记录数,默认 20,最大 50 */
|
|
228
|
+
pageSize?: number;
|
|
229
|
+
/** 当前页码,从 1 开始,默认 1 */
|
|
230
|
+
pageNum?: number;
|
|
231
|
+
/** 是否按照距离排序,需要设置中心点 */
|
|
232
|
+
sortByDistance?: boolean;
|
|
233
|
+
/** 中心点坐标,用于距离排序或周边搜索 */
|
|
234
|
+
center?: Coordinates;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* 周边搜索选项
|
|
238
|
+
*/
|
|
239
|
+
export interface NearbySearchOptions {
|
|
240
|
+
/** 搜索关键词 */
|
|
241
|
+
keyword: string;
|
|
242
|
+
/** 中心点坐标 */
|
|
243
|
+
center: Coordinates;
|
|
244
|
+
/** 搜索半径,单位:米,默认 1000,最大 50000 */
|
|
245
|
+
radius?: number;
|
|
246
|
+
/** POI 类型(可选),多个类型用 | 分隔 */
|
|
247
|
+
types?: string;
|
|
248
|
+
/** 每页记录数,默认 20,最大 50 */
|
|
249
|
+
pageSize?: number;
|
|
250
|
+
/** 当前页码,从 1 开始,默认 1 */
|
|
251
|
+
pageNum?: number;
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* 沿途搜索选项
|
|
255
|
+
*/
|
|
256
|
+
export interface AlongSearchOptions {
|
|
257
|
+
/** 搜索关键词 */
|
|
258
|
+
keyword: string;
|
|
259
|
+
/** 路线坐标点数组 */
|
|
260
|
+
polyline: Coordinates[];
|
|
261
|
+
/** 沿途搜索类型。高德 SDK 只支持固定类型,建议显式传入此字段。 */
|
|
262
|
+
routePoiType?: RoutePOIType;
|
|
263
|
+
/** 搜索范围,单位:米,默认 250,最大 500 */
|
|
264
|
+
range?: number;
|
|
265
|
+
/**
|
|
266
|
+
* @deprecated 沿途搜索不是通用 POI 类型搜索,请使用 routePoiType。
|
|
267
|
+
* 为兼容旧代码,仅接受与 RoutePOIType 相同的字符串。
|
|
268
|
+
*/
|
|
269
|
+
types?: string;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* 多边形搜索选项
|
|
273
|
+
*/
|
|
274
|
+
export interface PolygonSearchOptions {
|
|
275
|
+
/** 搜索关键词 */
|
|
276
|
+
keyword: string;
|
|
277
|
+
/** 多边形顶点坐标数组 */
|
|
278
|
+
polygon: Coordinates[];
|
|
279
|
+
/** POI 类型(可选),多个类型用 | 分隔 */
|
|
280
|
+
types?: string;
|
|
281
|
+
/** 每页记录数,默认 20,最大 50 */
|
|
282
|
+
pageSize?: number;
|
|
283
|
+
/** 当前页码,从 1 开始,默认 1 */
|
|
284
|
+
pageNum?: number;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* 输入提示选项
|
|
288
|
+
*/
|
|
289
|
+
export interface InputTipsOptions {
|
|
290
|
+
/** 关键词 */
|
|
291
|
+
keyword: string;
|
|
292
|
+
/** 城市名称或城市编码(可选) */
|
|
293
|
+
city?: string;
|
|
294
|
+
/** POI 类型(可选),多个类型用 | 分隔 */
|
|
295
|
+
types?: string;
|
|
296
|
+
/** 是否强制限制在 city 内,默认 false */
|
|
297
|
+
cityLimit?: boolean;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* 输入提示结果
|
|
301
|
+
*/
|
|
302
|
+
export interface InputTip {
|
|
303
|
+
/** 提示 ID */
|
|
304
|
+
id: string;
|
|
305
|
+
/** 名称 */
|
|
306
|
+
name: string;
|
|
307
|
+
/** 地址 */
|
|
308
|
+
address: string;
|
|
309
|
+
/** 坐标(可能为空) */
|
|
310
|
+
location?: Coordinates;
|
|
311
|
+
/** 类型编码 */
|
|
312
|
+
typeCode?: string;
|
|
313
|
+
/** 城市名称 */
|
|
314
|
+
cityName?: string;
|
|
315
|
+
/** 区域名称 */
|
|
316
|
+
adName?: string;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* 搜索结果
|
|
320
|
+
*/
|
|
321
|
+
export interface SearchResult {
|
|
322
|
+
/** POI 列表 */
|
|
323
|
+
pois: POI[];
|
|
324
|
+
/** 总记录数 */
|
|
325
|
+
total: number;
|
|
326
|
+
/** 当前页码 */
|
|
327
|
+
pageNum: number;
|
|
328
|
+
/** 每页记录数 */
|
|
329
|
+
pageSize: number;
|
|
330
|
+
/** 总页数 */
|
|
331
|
+
pageCount: number;
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* 输入提示结果
|
|
335
|
+
*/
|
|
336
|
+
export interface InputTipsResult {
|
|
337
|
+
/** 提示列表 */
|
|
338
|
+
tips: InputTip[];
|
|
339
|
+
}
|
|
340
|
+
//# sourceMappingURL=ExpoGaodeMapSearch.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpoGaodeMapSearch.types.d.ts","sourceRoot":"","sources":["../../../src/map/search/ExpoGaodeMapSearch.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,UAAU;IACpB,aAAa;IACb,GAAG,QAAQ;IACX,WAAW;IACX,MAAM,WAAW;IACjB,WAAW;IACX,KAAK,UAAU;IACf,YAAY;IACZ,OAAO,YAAY;IACnB,WAAW;IACX,UAAU,cAAc;IACxB,YAAY;IACZ,UAAU,cAAc;CACzB;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,oBAAoB,GACpB,KAAK,GACL,QAAQ,GACR,eAAe,GACf,aAAa,GACb,cAAc,GACd,MAAM,GACN,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,aAAa;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS;IACT,IAAI,EAAE,MAAM,CAAC;IACb,SAAS;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS;IACT,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS;IACT,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,aAAa;IACb,MAAM,CAAC,EAAE;QACP,SAAS;QACT,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc;QACd,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS;IACT,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU;IACV,IAAI,EAAE,MAAM,CAAC;IACb,UAAU;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW;IACX,YAAY,EAAE;QACZ,WAAW;QACX,MAAM,EAAE,MAAM,CAAC;QACf,UAAU;QACV,MAAM,EAAE,MAAM,CAAC;QACf,UAAU;QACV,QAAQ,CAAC,EAAE,WAAW,CAAC;QACvB,SAAS;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS;QACT,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,WAAW;IACX,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,WAAW;IACX,EAAE,EAAE,MAAM,CAAC;IACX,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU;IACV,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,SAAS;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY;IACZ,QAAQ,EAAE,WAAW,CAAC;IACtB,cAAc;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,aAAa;IACb,EAAE,EAAE,MAAM,CAAC;IACX,aAAa;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,YAAY;IACZ,QAAQ,EAAE,WAAW,CAAC;IACtB,SAAS;IACT,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY;IACZ,QAAQ,EAAE,WAAW,CAAC;IACtB,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY;IACZ,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa;IACb,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY;IACZ,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,WAAW;IACX,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,cAAc;IACd,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,aAAa;IACb,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wBAAwB;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,uCAAuC;IACvC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,YAAY;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,YAAY;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,SAAS;IACT,IAAI,EAAE,MAAM,CAAC;IACb,SAAS;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,aAAa;IACb,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU;IACV,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW;IACX,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 搜索类型
|
|
3
|
+
*/
|
|
4
|
+
export var SearchType;
|
|
5
|
+
(function (SearchType) {
|
|
6
|
+
/** POI 搜索 */
|
|
7
|
+
SearchType["POI"] = "poi";
|
|
8
|
+
/** 周边搜索 */
|
|
9
|
+
SearchType["NEARBY"] = "nearby";
|
|
10
|
+
/** 沿途搜索 */
|
|
11
|
+
SearchType["ALONG"] = "along";
|
|
12
|
+
/** 多边形搜索 */
|
|
13
|
+
SearchType["POLYGON"] = "polygon";
|
|
14
|
+
/** 输入提示 */
|
|
15
|
+
SearchType["INPUT_TIPS"] = "inputTips";
|
|
16
|
+
/** 逆地理编码 */
|
|
17
|
+
SearchType["RE_GEOCODE"] = "reGeocode";
|
|
18
|
+
})(SearchType || (SearchType = {}));
|
|
19
|
+
//# sourceMappingURL=ExpoGaodeMapSearch.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpoGaodeMapSearch.types.js","sourceRoot":"","sources":["../../../src/map/search/ExpoGaodeMapSearch.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,UAaX;AAbD,WAAY,UAAU;IACpB,aAAa;IACb,yBAAW,CAAA;IACX,WAAW;IACX,+BAAiB,CAAA;IACjB,WAAW;IACX,6BAAe,CAAA;IACf,YAAY;IACZ,iCAAmB,CAAA;IACnB,WAAW;IACX,sCAAwB,CAAA;IACxB,YAAY;IACZ,sCAAwB,CAAA;AAC1B,CAAC,EAbW,UAAU,KAAV,UAAU,QAarB","sourcesContent":["/**\n * 搜索类型\n */\nexport enum SearchType {\n /** POI 搜索 */\n POI = 'poi',\n /** 周边搜索 */\n NEARBY = 'nearby',\n /** 沿途搜索 */\n ALONG = 'along',\n /** 多边形搜索 */\n POLYGON = 'polygon',\n /** 输入提示 */\n INPUT_TIPS = 'inputTips',\n /** 逆地理编码 */\n RE_GEOCODE = 'reGeocode',\n}\n\n/**\n * 沿途搜索支持的 POI 类型。\n *\n * 高德沿途搜索 SDK 不是通用 POI 搜索,只支持这些固定类型。\n */\nexport type RoutePOIType =\n | 'gasStation'\n | 'maintenanceStation'\n | 'atm'\n | 'toilet'\n | 'gasAirStation'\n | 'serviceArea'\n | 'chargingPile'\n | 'food'\n | 'hotel';\n\n/**\n * 坐标点\n */\nexport interface Coordinates {\n latitude: number;\n longitude: number;\n}\n\n/**\n * POI 信息\n */\nexport interface POI {\n /** POI ID */\n id: string;\n /** 名称 */\n name: string;\n /** 地址 */\n address: string;\n /** 坐标 */\n location: Coordinates;\n /** 类型编码 */\n typeCode: string;\n /** 类型描述 */\n typeDes: string;\n /** 电话 */\n tel?: string;\n /** 距离(米),仅周边搜索返回 */\n distance?: number;\n /** 城市名称 */\n cityName?: string;\n /** 城市编码 */\n cityCode?: string;\n /** 省份名称 */\n provinceName?: string;\n /** 区域名称 */\n adName?: string;\n /** 区域编码 */\n adCode?: string;\n /** \n * 深度信息 (Android SDK V9.4.0+ 新增)\n * 包含评分、营业时间、人均消费等扩展信息\n */\n business?: {\n opentime?: string;\n opentimeToday?: string;\n rating?: string;\n cost?: string;\n parkingType?: string;\n tag?: string;\n tel?: string;\n alias?: string;\n businessArea?: string;\n };\n /**\n * 图片信息\n */\n photos?: Array<{\n title?: string;\n url?: string;\n }>;\n /** 室内地图信息 */\n indoor?: {\n /** 楼层 */\n floor?: string;\n /** 楼层名称 */\n floorName?: string;\n /** POI ID */\n poiId?: string;\n /** 是否有室内地图 */\n hasIndoorMap?: boolean;\n };\n}\n\n/**\n * 商圈信息\n */\nexport interface BusinessArea {\n /** 名称 */\n name: string;\n /** 中心坐标 */\n location: Coordinates;\n}\n\n/**\n * 地址组成要素\n */\nexport interface AddressComponent {\n /** 省名称 */\n province: string;\n /** 市名称 */\n city: string;\n /** 区名称 */\n district: string;\n /** 乡镇名称 */\n township: string;\n /** 社区名称 */\n neighborhood: string;\n /** 建筑名称 */\n building: string;\n /** 城市编码 */\n cityCode: string;\n /** 区域编码 */\n adCode: string;\n /** 门牌信息 */\n streetNumber: {\n /** 街道名称 */\n street: string;\n /** 门牌号 */\n number: string;\n /** 坐标点 */\n location?: Coordinates;\n /** 方向 */\n direction: string;\n /** 距离 */\n distance: number;\n };\n /** 商圈列表 */\n businessAreas?: BusinessArea[];\n}\n\n/**\n * 道路信息\n */\nexport interface Road {\n /** 道路ID */\n id: string;\n /** 道路名称 */\n name: string;\n /** 距离 */\n distance: number;\n /** 方向 */\n direction: string;\n /** 坐标点 */\n location: Coordinates;\n}\n\n/**\n * 道路交叉口信息\n */\nexport interface RoadCross {\n /** 距离 */\n distance: number;\n /** 方向 */\n direction: string;\n /** 交叉口坐标 */\n location: Coordinates;\n /** 第一条道路ID */\n firstId: string;\n /** 第一条道路名称 */\n firstName: string;\n /** 第二条道路ID */\n secondId: string;\n /** 第二条道路名称 */\n secondName: string;\n}\n\n/**\n * 兴趣区域信息\n */\nexport interface AOI {\n /** AOI ID */\n id: string;\n /** AOI 名称 */\n name: string;\n /** 区域编码 */\n adCode: string;\n /** 中心点坐标 */\n location: Coordinates;\n /** 面积 */\n area: number;\n}\n\n/**\n * 逆地理编码选项\n */\nexport interface ReGeocodeOptions {\n /** 经纬度坐标 */\n location: Coordinates;\n /** 搜索半径,默认 1000 米 */\n radius?: number;\n /** 是否返回扩展信息,默认 true */\n requireExtension?: boolean;\n}\n\n/**\n * 逆地理编码结果\n */\nexport interface ReGeocodeResult {\n /** 格式化地址 */\n formattedAddress: string;\n /** 地址组成要素 */\n addressComponent: AddressComponent;\n /** 兴趣点列表 */\n pois: POI[];\n /** 道路列表 */\n roads: Road[];\n /** 道路交叉口列表 */\n roadCrosses: RoadCross[];\n /** 兴趣区域列表 */\n aois: AOI[];\n}\n\n/**\n * POI 搜索选项\n */\nexport interface POISearchOptions {\n /** 搜索关键词 */\n keyword: string;\n /** 城市名称或城市编码(可选) */\n city?: string;\n /** POI 类型(可选),多个类型用 | 分隔 */\n types?: string;\n /** 每页记录数,默认 20,最大 50 */\n pageSize?: number;\n /** 当前页码,从 1 开始,默认 1 */\n pageNum?: number;\n /** 是否按照距离排序,需要设置中心点 */\n sortByDistance?: boolean;\n /** 中心点坐标,用于距离排序或周边搜索 */\n center?: Coordinates;\n}\n\n/**\n * 周边搜索选项\n */\nexport interface NearbySearchOptions {\n /** 搜索关键词 */\n keyword: string;\n /** 中心点坐标 */\n center: Coordinates;\n /** 搜索半径,单位:米,默认 1000,最大 50000 */\n radius?: number;\n /** POI 类型(可选),多个类型用 | 分隔 */\n types?: string;\n /** 每页记录数,默认 20,最大 50 */\n pageSize?: number;\n /** 当前页码,从 1 开始,默认 1 */\n pageNum?: number;\n}\n\n/**\n * 沿途搜索选项\n */\nexport interface AlongSearchOptions {\n /** 搜索关键词 */\n keyword: string;\n /** 路线坐标点数组 */\n polyline: Coordinates[];\n /** 沿途搜索类型。高德 SDK 只支持固定类型,建议显式传入此字段。 */\n routePoiType?: RoutePOIType;\n /** 搜索范围,单位:米,默认 250,最大 500 */\n range?: number;\n /**\n * @deprecated 沿途搜索不是通用 POI 类型搜索,请使用 routePoiType。\n * 为兼容旧代码,仅接受与 RoutePOIType 相同的字符串。\n */\n types?: string;\n}\n\n/**\n * 多边形搜索选项\n */\nexport interface PolygonSearchOptions {\n /** 搜索关键词 */\n keyword: string;\n /** 多边形顶点坐标数组 */\n polygon: Coordinates[];\n /** POI 类型(可选),多个类型用 | 分隔 */\n types?: string;\n /** 每页记录数,默认 20,最大 50 */\n pageSize?: number;\n /** 当前页码,从 1 开始,默认 1 */\n pageNum?: number;\n}\n\n/**\n * 输入提示选项\n */\nexport interface InputTipsOptions {\n /** 关键词 */\n keyword: string;\n /** 城市名称或城市编码(可选) */\n city?: string;\n /** POI 类型(可选),多个类型用 | 分隔 */\n types?: string;\n /** 是否强制限制在 city 内,默认 false */\n cityLimit?: boolean;\n}\n\n/**\n * 输入提示结果\n */\nexport interface InputTip {\n /** 提示 ID */\n id: string;\n /** 名称 */\n name: string;\n /** 地址 */\n address: string;\n /** 坐标(可能为空) */\n location?: Coordinates;\n /** 类型编码 */\n typeCode?: string;\n /** 城市名称 */\n cityName?: string;\n /** 区域名称 */\n adName?: string;\n}\n\n/**\n * 搜索结果\n */\nexport interface SearchResult {\n /** POI 列表 */\n pois: POI[];\n /** 总记录数 */\n total: number;\n /** 当前页码 */\n pageNum: number;\n /** 每页记录数 */\n pageSize: number;\n /** 总页数 */\n pageCount: number;\n}\n\n/**\n * 输入提示结果\n */\nexport interface InputTipsResult {\n /** 提示列表 */\n tips: InputTip[];\n}\n"]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { AlongSearchOptions, InputTipsOptions, InputTipsResult, NearbySearchOptions, POI, POISearchOptions, PolygonSearchOptions, ReGeocodeOptions, ReGeocodeResult, RoutePOIType, SearchResult } from './ExpoGaodeMapSearch.types';
|
|
2
|
+
declare class ExpoGaodeMapSearchModuleType {
|
|
3
|
+
/**
|
|
4
|
+
* 初始化搜索模块(可选)
|
|
5
|
+
*
|
|
6
|
+
* 如果 API Key 已通过以下方式设置,则无需调用此方法:
|
|
7
|
+
* 1. app.json 的 plugins 中配置了 iosKey(推荐)
|
|
8
|
+
* 2. 调用了 ExpoGaodeMap.initSDK()
|
|
9
|
+
* 3. 在 AppDelegate 中手动设置
|
|
10
|
+
*
|
|
11
|
+
* 此方法会在首次调用搜索功能时自动执行,手动调用可以提前检测配置问题。
|
|
12
|
+
*/
|
|
13
|
+
initSearch(): void;
|
|
14
|
+
/**
|
|
15
|
+
* 搜索 POI(兴趣点)
|
|
16
|
+
* 根据关键词和可选参数返回匹配的 POI 列表。
|
|
17
|
+
*
|
|
18
|
+
* @param options 搜索参数,包含关键词、城市、类型等
|
|
19
|
+
* @returns 匹配的 POI 列表
|
|
20
|
+
*/
|
|
21
|
+
searchPOI(options: POISearchOptions): Promise<SearchResult>;
|
|
22
|
+
/**
|
|
23
|
+
* 搜索周边 POI
|
|
24
|
+
* 根据位置和半径返回周边的 POI 列表。
|
|
25
|
+
*
|
|
26
|
+
* @param options 搜索参数,包含位置、半径、类型等
|
|
27
|
+
* @returns 周边的 POI 列表
|
|
28
|
+
*/
|
|
29
|
+
searchNearby(options: NearbySearchOptions): Promise<SearchResult>;
|
|
30
|
+
/**
|
|
31
|
+
* 搜索沿途 POI
|
|
32
|
+
* 根据路线和半径返回沿途的 POI 列表。
|
|
33
|
+
*
|
|
34
|
+
* @param options 搜索参数,包含路线、半径、类型等
|
|
35
|
+
* @returns 沿途的 POI 列表
|
|
36
|
+
*/
|
|
37
|
+
searchAlong(options: AlongSearchOptions): Promise<SearchResult>;
|
|
38
|
+
/**
|
|
39
|
+
* 搜索多边形内的 POI
|
|
40
|
+
* 根据多边形区域返回其内的 POI 列表。
|
|
41
|
+
*
|
|
42
|
+
* @param options 搜索参数,包含多边形区域、类型等
|
|
43
|
+
* @returns 多边形内的 POI 列表
|
|
44
|
+
*/
|
|
45
|
+
searchPolygon(options: PolygonSearchOptions): Promise<SearchResult>;
|
|
46
|
+
/**
|
|
47
|
+
* 获取输入提示
|
|
48
|
+
* 根据用户输入返回可能的搜索建议。
|
|
49
|
+
*
|
|
50
|
+
* @param options 输入提示参数,包含关键词、城市等
|
|
51
|
+
* @returns 输入提示结果
|
|
52
|
+
*/
|
|
53
|
+
getInputTips(options: InputTipsOptions): Promise<InputTipsResult>;
|
|
54
|
+
/**
|
|
55
|
+
* 逆地理编码
|
|
56
|
+
* 根据经纬度返回地址信息。
|
|
57
|
+
*
|
|
58
|
+
* @param options 逆地理编码参数,包含经纬度等
|
|
59
|
+
* @returns 逆地理编码结果
|
|
60
|
+
*/
|
|
61
|
+
reGeocode(options: ReGeocodeOptions): Promise<ReGeocodeResult>;
|
|
62
|
+
/**
|
|
63
|
+
* 获取 POI 详情
|
|
64
|
+
* 根据 POI ID 返回详细信息。
|
|
65
|
+
*
|
|
66
|
+
* @param id POI 唯一标识符
|
|
67
|
+
* @returns POI 详情
|
|
68
|
+
*/
|
|
69
|
+
getPoiDetail(id: string): Promise<POI>;
|
|
70
|
+
}
|
|
71
|
+
declare const _default: ExpoGaodeMapSearchModuleType;
|
|
72
|
+
export default _default;
|
|
73
|
+
export type { RoutePOIType };
|
|
74
|
+
//# sourceMappingURL=ExpoGaodeMapSearchModule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpoGaodeMapSearchModule.d.ts","sourceRoot":"","sources":["../../../src/map/search/ExpoGaodeMapSearchModule.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,GAAG,EACH,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,YAAY,EACb,MAAM,4BAA4B,CAAC;AAwBpC,OAAO,OAAO,4BAA4B;IACxC;;;;;;;;;OASG;IACH,UAAU,IAAI,IAAI;IAClB;;;;;;OAMG;IACH,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;IAC3D;;;;;;OAMG;IACH,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;IACjE;;;;;;OAMG;IACH,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAC/D;;;;;;OAMG;IACH,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC;IACnE;;;;;;OAMG;IACH,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IACjE;;;;;;OAMG;IACH,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAC9D;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CACvC;;AA6BD,wBAIG;AAEH,YAAY,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { requireNativeModule } from 'expo-modules-core';
|
|
2
|
+
/**
|
|
3
|
+
* 在加载原生搜索模块前,强制校验基础地图组件是否已安装。
|
|
4
|
+
* 支持两种“基础地图提供者”:expo-gaode-map 或 expo-gaode-map-navigation(导航内置地图)。
|
|
5
|
+
* 这样可避免导航与核心包的 SDK 冲突时无法使用搜索模块的问题。
|
|
6
|
+
*/
|
|
7
|
+
function ensureBaseInstalled() {
|
|
8
|
+
try {
|
|
9
|
+
// 检查核心地图原生模块是否存在
|
|
10
|
+
// 无论是安装了 expo-gaode-map 还是 expo-gaode-map-navigation,
|
|
11
|
+
// 原生端都会注册名为 'ExpoGaodeMap' 的模块。
|
|
12
|
+
// 我们通过 requireNativeModule 来检测,避免在 JS 层面引入对包的硬依赖。
|
|
13
|
+
requireNativeModule('ExpoGaodeMap');
|
|
14
|
+
}
|
|
15
|
+
catch (_) {
|
|
16
|
+
const msg = '[expo-gaode-map-navigation] 未检测到基础地图原生模块。\n' +
|
|
17
|
+
'请确保已安装以下任一包并重新构建应用 (npx expo prebuild):\n' +
|
|
18
|
+
' - expo-gaode-map-navigation(导航包,内置地图能力)';
|
|
19
|
+
throw new Error(msg);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 高德地图搜索模块
|
|
24
|
+
*
|
|
25
|
+
* 提供 POI 搜索、周边搜索、沿途搜索、多边形搜索和输入提示功能
|
|
26
|
+
*/
|
|
27
|
+
let nativeModuleCache = null;
|
|
28
|
+
function getNativeModule() {
|
|
29
|
+
ensureBaseInstalled();
|
|
30
|
+
if (!nativeModuleCache) {
|
|
31
|
+
nativeModuleCache = requireNativeModule('ExpoGaodeMapSearch');
|
|
32
|
+
}
|
|
33
|
+
return nativeModuleCache;
|
|
34
|
+
}
|
|
35
|
+
function getBoundNativeValue(module, prop) {
|
|
36
|
+
const value = Reflect.get(module, prop, module);
|
|
37
|
+
if (typeof value === 'function') {
|
|
38
|
+
return (...args) => value.apply(module, args);
|
|
39
|
+
}
|
|
40
|
+
return value;
|
|
41
|
+
}
|
|
42
|
+
export default new Proxy({}, {
|
|
43
|
+
get(_target, prop) {
|
|
44
|
+
return getBoundNativeValue(getNativeModule(), prop);
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=ExpoGaodeMapSearchModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpoGaodeMapSearchModule.js","sourceRoot":"","sources":["../../../src/map/search/ExpoGaodeMapSearchModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAiBxD;;;;GAIG;AACH,SAAS,mBAAmB;IAC1B,IAAI,CAAC;QACH,iBAAiB;QACjB,sDAAsD;QACtD,gCAAgC;QAChC,kDAAkD;QAClD,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GACP,6CAA6C;YAC7C,2CAA2C;YAC3C,2CAA2C,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAwED;;;;GAIG;AACH,IAAI,iBAAiB,GAAwC,IAAI,CAAC;AAElE,SAAS,eAAe;IACtB,mBAAmB,EAAE,CAAC;IACtB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,iBAAiB,GAAG,mBAAmB,CAA+B,oBAAoB,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAoC,EACpC,IAAiB;IAEjB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAgB,EAAE,IAAI,EAAE,MAAgB,CAAC,CAAC;IACpE,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE,CAC3B,KAA2C,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,eAAe,IAAI,KAAK,CAAC,EAAkC,EAAE;IAC3D,GAAG,CAAC,OAAO,EAAE,IAAI;QACf,OAAO,mBAAmB,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;CACF,CAAC,CAAC","sourcesContent":["\nimport { requireNativeModule } from 'expo-modules-core';\n\nimport {\n AlongSearchOptions,\n InputTipsOptions,\n InputTipsResult,\n NearbySearchOptions,\n POI,\n POISearchOptions,\n PolygonSearchOptions,\n ReGeocodeOptions,\n ReGeocodeResult,\n RoutePOIType,\n SearchResult,\n} from './ExpoGaodeMapSearch.types';\n\n\n/**\n * 在加载原生搜索模块前,强制校验基础地图组件是否已安装。\n * 支持两种“基础地图提供者”:expo-gaode-map 或 expo-gaode-map-navigation(导航内置地图)。\n * 这样可避免导航与核心包的 SDK 冲突时无法使用搜索模块的问题。\n */\nfunction ensureBaseInstalled() {\n try {\n // 检查核心地图原生模块是否存在\n // 无论是安装了 expo-gaode-map 还是 expo-gaode-map-navigation,\n // 原生端都会注册名为 'ExpoGaodeMap' 的模块。\n // 我们通过 requireNativeModule 来检测,避免在 JS 层面引入对包的硬依赖。\n requireNativeModule('ExpoGaodeMap');\n } catch (_) {\n const msg =\n '[expo-gaode-map-navigation] 未检测到基础地图原生模块。\\n' +\n '请确保已安装以下任一包并重新构建应用 (npx expo prebuild):\\n' +\n ' - expo-gaode-map-navigation(导航包,内置地图能力)';\n throw new Error(msg);\n }\n}\n\ndeclare class ExpoGaodeMapSearchModuleType {\n /**\n * 初始化搜索模块(可选)\n *\n * 如果 API Key 已通过以下方式设置,则无需调用此方法:\n * 1. app.json 的 plugins 中配置了 iosKey(推荐)\n * 2. 调用了 ExpoGaodeMap.initSDK()\n * 3. 在 AppDelegate 中手动设置\n *\n * 此方法会在首次调用搜索功能时自动执行,手动调用可以提前检测配置问题。\n */\n initSearch(): void;\n /**\n * 搜索 POI(兴趣点)\n * 根据关键词和可选参数返回匹配的 POI 列表。\n *\n * @param options 搜索参数,包含关键词、城市、类型等\n * @returns 匹配的 POI 列表\n */\n searchPOI(options: POISearchOptions): Promise<SearchResult>;\n /**\n * 搜索周边 POI\n * 根据位置和半径返回周边的 POI 列表。\n *\n * @param options 搜索参数,包含位置、半径、类型等\n * @returns 周边的 POI 列表\n */\n searchNearby(options: NearbySearchOptions): Promise<SearchResult>;\n /**\n * 搜索沿途 POI\n * 根据路线和半径返回沿途的 POI 列表。\n *\n * @param options 搜索参数,包含路线、半径、类型等\n * @returns 沿途的 POI 列表\n */\n searchAlong(options: AlongSearchOptions): Promise<SearchResult>;\n /**\n * 搜索多边形内的 POI\n * 根据多边形区域返回其内的 POI 列表。\n *\n * @param options 搜索参数,包含多边形区域、类型等\n * @returns 多边形内的 POI 列表\n */\n searchPolygon(options: PolygonSearchOptions): Promise<SearchResult>;\n /**\n * 获取输入提示\n * 根据用户输入返回可能的搜索建议。\n *\n * @param options 输入提示参数,包含关键词、城市等\n * @returns 输入提示结果\n */\n getInputTips(options: InputTipsOptions): Promise<InputTipsResult>;\n /**\n * 逆地理编码\n * 根据经纬度返回地址信息。\n *\n * @param options 逆地理编码参数,包含经纬度等\n * @returns 逆地理编码结果\n */\n reGeocode(options: ReGeocodeOptions): Promise<ReGeocodeResult>;\n /**\n * 获取 POI 详情\n * 根据 POI ID 返回详细信息。\n *\n * @param id POI 唯一标识符\n * @returns POI 详情\n */\n getPoiDetail(id: string): Promise<POI>;\n}\n\n/**\n * 高德地图搜索模块\n *\n * 提供 POI 搜索、周边搜索、沿途搜索、多边形搜索和输入提示功能\n */\nlet nativeModuleCache: ExpoGaodeMapSearchModuleType | null = null;\n\nfunction getNativeModule(): ExpoGaodeMapSearchModuleType {\n ensureBaseInstalled();\n if (!nativeModuleCache) {\n nativeModuleCache = requireNativeModule<ExpoGaodeMapSearchModuleType>('ExpoGaodeMapSearch');\n }\n return nativeModuleCache;\n}\n\nfunction getBoundNativeValue(\n module: ExpoGaodeMapSearchModuleType,\n prop: PropertyKey\n): unknown {\n const value = Reflect.get(module as object, prop, module as object);\n if (typeof value === 'function') {\n return (...args: unknown[]) =>\n (value as (...fnArgs: unknown[]) => unknown).apply(module, args);\n }\n return value;\n}\n\nexport default new Proxy({} as ExpoGaodeMapSearchModuleType, {\n get(_target, prop) {\n return getBoundNativeValue(getNativeModule(), prop);\n },\n});\n\nexport type { RoutePOIType };\n"]}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import type { Coordinates, POI, POISearchOptions, NearbySearchOptions, AlongSearchOptions, PolygonSearchOptions, InputTipsOptions, InputTip, SearchResult, InputTipsResult, ReGeocodeOptions, ReGeocodeResult, AddressComponent, Road, RoadCross, AOI, RoutePOIType } from './ExpoGaodeMapSearch.types';
|
|
2
|
+
/**
|
|
3
|
+
* 初始化搜索模块(可选)
|
|
4
|
+
*
|
|
5
|
+
* 如果 API Key 已通过以下方式设置,则无需调用此方法:
|
|
6
|
+
* 1. app.json 的 plugins 中配置了 iosKey(推荐)
|
|
7
|
+
* 2. 调用了 ExpoGaodeMap.initSDK()
|
|
8
|
+
* 3. 在 AppDelegate 中手动设置
|
|
9
|
+
*
|
|
10
|
+
* 此方法会在首次调用搜索功能时自动执行,手动调用可以提前检测配置问题。
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import { initSearch } from 'expo-gaode-map-navigation';
|
|
15
|
+
*
|
|
16
|
+
* // 可选:提前初始化以检测问题
|
|
17
|
+
* initSearch();
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare function initSearch(): void;
|
|
21
|
+
/**
|
|
22
|
+
* POI 搜索
|
|
23
|
+
*
|
|
24
|
+
* @param options 搜索选项
|
|
25
|
+
* @returns 搜索结果
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* const result = await searchPOI({
|
|
30
|
+
* keyword: '酒店',
|
|
31
|
+
* city: '北京',
|
|
32
|
+
* pageSize: 20,
|
|
33
|
+
* pageNum: 1,
|
|
34
|
+
* });
|
|
35
|
+
* console.log('找到', result.total, '个结果');
|
|
36
|
+
* result.pois.forEach(poi => {
|
|
37
|
+
* console.log(poi.name, poi.address);
|
|
38
|
+
* });
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare function searchPOI(options: POISearchOptions): Promise<SearchResult>;
|
|
42
|
+
/**
|
|
43
|
+
* 周边搜索
|
|
44
|
+
*
|
|
45
|
+
* @param options 搜索选项
|
|
46
|
+
* @returns 搜索结果
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* const result = await searchNearby({
|
|
51
|
+
* keyword: '餐厅',
|
|
52
|
+
* center: { latitude: 39.9, longitude: 116.4 },
|
|
53
|
+
* radius: 1000,
|
|
54
|
+
* });
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export declare function searchNearby(options: NearbySearchOptions): Promise<SearchResult>;
|
|
58
|
+
/**
|
|
59
|
+
* 沿途搜索
|
|
60
|
+
*
|
|
61
|
+
* @param options 搜索选项
|
|
62
|
+
* @returns 搜索结果
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```typescript
|
|
66
|
+
* const result = await searchAlong({
|
|
67
|
+
* keyword: '加油站',
|
|
68
|
+
* polyline: [
|
|
69
|
+
* { latitude: 39.9, longitude: 116.4 },
|
|
70
|
+
* { latitude: 39.91, longitude: 116.41 },
|
|
71
|
+
* ],
|
|
72
|
+
* range: 500,
|
|
73
|
+
* });
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export declare function searchAlong(options: AlongSearchOptions): Promise<SearchResult>;
|
|
77
|
+
/**
|
|
78
|
+
* 多边形搜索
|
|
79
|
+
*
|
|
80
|
+
* @param options 搜索选项
|
|
81
|
+
* @returns 搜索结果
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```typescript
|
|
85
|
+
* const result = await searchPolygon({
|
|
86
|
+
* keyword: '学校',
|
|
87
|
+
* polygon: [
|
|
88
|
+
* { latitude: 39.9, longitude: 116.4 },
|
|
89
|
+
* { latitude: 39.91, longitude: 116.4 },
|
|
90
|
+
* { latitude: 39.91, longitude: 116.41 },
|
|
91
|
+
* ],
|
|
92
|
+
* });
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
export declare function searchPolygon(options: PolygonSearchOptions): Promise<SearchResult>;
|
|
96
|
+
/**
|
|
97
|
+
* 输入提示
|
|
98
|
+
*
|
|
99
|
+
* @param options 搜索选项
|
|
100
|
+
* @returns 提示结果
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* ```typescript
|
|
104
|
+
* const result = await getInputTips({
|
|
105
|
+
* keyword: '天安门',
|
|
106
|
+
* city: '北京',
|
|
107
|
+
* });
|
|
108
|
+
* result.tips.forEach(tip => {
|
|
109
|
+
* console.log(tip.name, tip.address);
|
|
110
|
+
* });
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
export declare function getInputTips(options: InputTipsOptions): Promise<InputTipsResult>;
|
|
114
|
+
/**
|
|
115
|
+
* 逆地理编码(坐标转地址)
|
|
116
|
+
*
|
|
117
|
+
* @param options 逆地理编码选项
|
|
118
|
+
* @returns 逆地理编码结果
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```typescript
|
|
122
|
+
* const result = await reGeocode({
|
|
123
|
+
* location: { latitude: 39.9, longitude: 116.4 },
|
|
124
|
+
* radius: 1000,
|
|
125
|
+
* });
|
|
126
|
+
* console.log(result.formattedAddress);
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
export declare function reGeocode(options: ReGeocodeOptions): Promise<ReGeocodeResult>;
|
|
130
|
+
/**
|
|
131
|
+
* POI 详情查询
|
|
132
|
+
*
|
|
133
|
+
* @param id POI ID
|
|
134
|
+
* @returns POI 详情
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* ```typescript
|
|
138
|
+
* const poi = await getPoiDetail('B000A83M61');
|
|
139
|
+
* console.log(poi.name, poi.address);
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
export declare function getPoiDetail(id: string): Promise<POI>;
|
|
143
|
+
export type { Coordinates, POI, POISearchOptions, NearbySearchOptions, AlongSearchOptions, PolygonSearchOptions, InputTipsOptions, InputTip, SearchResult, InputTipsResult, ReGeocodeOptions, ReGeocodeResult, AddressComponent, Road, RoadCross, AOI, RoutePOIType, };
|
|
144
|
+
export { SearchType } from './ExpoGaodeMapSearch.types';
|
|
145
|
+
declare const _default: {
|
|
146
|
+
initSearch: typeof initSearch;
|
|
147
|
+
searchPOI: typeof searchPOI;
|
|
148
|
+
searchNearby: typeof searchNearby;
|
|
149
|
+
searchAlong: typeof searchAlong;
|
|
150
|
+
searchPolygon: typeof searchPolygon;
|
|
151
|
+
getInputTips: typeof getInputTips;
|
|
152
|
+
reGeocode: typeof reGeocode;
|
|
153
|
+
getPoiDetail: typeof getPoiDetail;
|
|
154
|
+
};
|
|
155
|
+
export default _default;
|
|
156
|
+
//# sourceMappingURL=index.d.ts.map
|