expo-gaode-map-navigation 2.0.6 → 2.0.7

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 (30) hide show
  1. package/README.md +25 -0
  2. package/android/src/main/java/expo/modules/gaodemap/map/ExpoGaodeMapOfflineModule.kt +71 -45
  3. package/android/src/main/java/expo/modules/gaodemap/map/modules/SDKInitializer.kt +35 -0
  4. package/android/src/main/java/expo/modules/gaodemap/map/overlays/MarkerView.kt +0 -1
  5. package/android/src/main/java/expo/modules/gaodemap/navigation/ExpoGaodeMapNaviView.kt +13 -2
  6. package/android/src/main/java/expo/modules/gaodemap/navigation/ExpoGaodeMapNavigationModule.kt +385 -1
  7. package/android/src/main/java/expo/modules/gaodemap/navigation/routes/drive/DriveTruckRouteCalculator.kt +180 -4
  8. package/android/src/main/java/expo/modules/gaodemap/navigation/services/IndependentRouteService.kt +182 -7
  9. package/android/src/main/java/expo/modules/gaodemap/navigation/utils/Converters.kt +31 -1
  10. package/build/index.d.ts +7 -2
  11. package/build/index.d.ts.map +1 -1
  12. package/build/index.js +5 -0
  13. package/build/index.js.map +1 -1
  14. package/build/types/independent.types.d.ts +7 -0
  15. package/build/types/independent.types.d.ts.map +1 -1
  16. package/build/types/independent.types.js.map +1 -1
  17. package/build/types/native-module.types.d.ts +5 -1
  18. package/build/types/native-module.types.d.ts.map +1 -1
  19. package/build/types/native-module.types.js.map +1 -1
  20. package/build/types/route.types.d.ts +112 -0
  21. package/build/types/route.types.d.ts.map +1 -1
  22. package/build/types/route.types.js.map +1 -1
  23. package/ios/ExpoGaodeMapNaviView.swift +56 -4
  24. package/ios/ExpoGaodeMapNavigationModule.swift +585 -12
  25. package/ios/map/ExpoGaodeMapOfflineModule.swift +58 -34
  26. package/ios/map/GaodeMapPrivacyManager.swift +23 -1
  27. package/ios/map/overlays/MarkerView.swift +148 -11
  28. package/ios/services/IndependentRouteService.swift +186 -44
  29. package/package.json +1 -1
  30. package/plugin/build/withGaodeMap.js +28 -0
@@ -3,6 +3,8 @@ package expo.modules.gaodemap.navigation.services
3
3
  import android.content.Context
4
4
  import com.amap.api.navi.AMapNavi
5
5
  import com.amap.api.navi.model.AMapCarInfo
6
+ import com.amap.api.navi.model.NaviLatLng
7
+ import com.amap.api.navi.model.NaviPoi
6
8
  import expo.modules.gaodemap.navigation.ExpoGaodeMapNavigationModule
7
9
  import expo.modules.gaodemap.navigation.listeners.IndependentRouteListener
8
10
  import expo.modules.gaodemap.navigation.utils.Converters
@@ -18,6 +20,9 @@ class IndependentRouteService(
18
20
  private val context: Context,
19
21
  private val module: ExpoGaodeMapNavigationModule
20
22
  ) {
23
+ companion object {
24
+ private const val TAG = "IndependentRouteService"
25
+ }
21
26
 
22
27
  // 驾车(小客车)
23
28
  fun independentDriveRoute(options: Map<String, Any?>, promise: Promise) {
@@ -32,7 +37,8 @@ class IndependentRouteService(
32
37
  val fromPoi = from?.let { Converters.parseNaviPoi(it) }
33
38
  val toPoi = Converters.parseNaviPoi(to)
34
39
  @Suppress("UNCHECKED_CAST")
35
- val waypoints = Converters.parseWaypoints(options["waypoints"] as? List<Map<String, Any?>>)
40
+ val waypointsRaw = options["waypoints"] as? List<Map<String, Any?>>
41
+ val waypointsPoi = Converters.parseWaypoints(waypointsRaw)
36
42
 
37
43
  val strategy = resolveDriveStrategy(navi, options)
38
44
 
@@ -42,13 +48,57 @@ class IndependentRouteService(
42
48
  setCarInfo(navi, "0", carNumber, restriction)
43
49
  }
44
50
 
51
+ val listener = IndependentRouteListener(module, promise)
52
+ val avoidPolygons = Converters.parseAvoidPolygons(options["avoidPolygons"])
53
+ val avoidRoad = (options["avoidRoad"] as? String)?.trim()?.takeIf { it.isNotEmpty() }
54
+ val hasAvoidPolygon = avoidPolygons.isNotEmpty()
55
+ val hasAvoidRoad = !avoidRoad.isNullOrBlank()
56
+
57
+ if (hasAvoidPolygon || hasAvoidRoad) {
58
+ val fromLatLng = from?.let { Converters.parseNaviLatLng(it) }
59
+ val toLatLng = Converters.parseNaviLatLng(to)
60
+ val waypointsLatLng = Converters.parseWaypointsLatLng(waypointsRaw)
61
+
62
+ val reflected = invokeIndependentDriveRouteWithAvoidByReflection(
63
+ navi = navi,
64
+ fromPoi = fromPoi,
65
+ toPoi = toPoi,
66
+ waypointsPoi = waypointsPoi,
67
+ fromLatLng = fromLatLng,
68
+ toLatLng = toLatLng,
69
+ waypointsLatLng = waypointsLatLng,
70
+ strategy = strategy,
71
+ avoidPolygons = avoidPolygons,
72
+ avoidRoad = avoidRoad.orEmpty(),
73
+ listener = listener
74
+ )
75
+
76
+ when (reflected) {
77
+ true -> return
78
+ false -> {
79
+ promise.reject("CALCULATE_ERROR", "独立避让算路启动失败", null)
80
+ return
81
+ }
82
+
83
+ null -> {
84
+ android.util.Log.w(TAG, "当前 SDK 不支持 independentCalculateRoute 的避让参数重载")
85
+ promise.reject(
86
+ "AVOID_NOT_SUPPORTED",
87
+ "当前安卓 SDK 不支持独立路径的避让参数,请升级 navi-3dmap SDK",
88
+ null
89
+ )
90
+ return
91
+ }
92
+ }
93
+ }
94
+
45
95
  navi.independentCalculateRoute(
46
96
  fromPoi,
47
97
  toPoi,
48
- waypoints,
98
+ waypointsPoi,
49
99
  strategy,
50
100
  1, // 驾车
51
- IndependentRouteListener(module, promise)
101
+ listener
52
102
  )
53
103
  } catch (e: Exception) {
54
104
  promise.reject("CALCULATE_ERROR", e.message, e)
@@ -190,7 +240,9 @@ class IndependentRouteService(
190
240
  val prioritiseHighway = options["prioritiseHighway"] as? Boolean ?: false
191
241
  try {
192
242
  navi.strategyConvert(avoidCongestion, avoidHighway, avoidCost, prioritiseHighway, true)
193
- } catch (_: Exception) { 0 }
243
+ } catch (_: Exception) {
244
+ 0
245
+ }
194
246
  }
195
247
  }
196
248
 
@@ -209,8 +261,9 @@ class IndependentRouteService(
209
261
  if (restriction != null) isRestriction = restriction
210
262
  if (motorcycleCC != null) {
211
263
  try {
212
- this.motorcycleCC = motorcycleCC
213
- } catch (_: Exception) {}
264
+ this.motorcycleCC = motorcycleCC
265
+ } catch (_: Exception) {
266
+ }
214
267
  }
215
268
  }
216
269
  navi.setCarInfo(carInfo)
@@ -218,4 +271,126 @@ class IndependentRouteService(
218
271
  // ignore
219
272
  }
220
273
  }
221
- }
274
+
275
+ /**
276
+ * 兼容不同版本 SDK 的 independentCalculateRoute 避让参数能力。
277
+ *
278
+ * 返回:
279
+ * - true: 已成功调用到某个重载,后续等待回调
280
+ * - false: 命中重载但返回失败
281
+ * - null: 未找到可匹配的重载
282
+ */
283
+ private fun invokeIndependentDriveRouteWithAvoidByReflection(
284
+ navi: AMapNavi,
285
+ fromPoi: NaviPoi?,
286
+ toPoi: NaviPoi,
287
+ waypointsPoi: List<NaviPoi>,
288
+ fromLatLng: NaviLatLng?,
289
+ toLatLng: NaviLatLng,
290
+ waypointsLatLng: List<NaviLatLng>,
291
+ strategy: Int,
292
+ avoidPolygons: List<List<NaviLatLng>>,
293
+ avoidRoad: String,
294
+ listener: IndependentRouteListener
295
+ ): Boolean? {
296
+ val startList = fromLatLng?.let { listOf(it) }
297
+ val endList = listOf(toLatLng)
298
+ val hasAvoidRoad = avoidRoad.isNotBlank()
299
+
300
+ val avoidPolygonArgs: List<Any> = buildList {
301
+ if (avoidPolygons.isNotEmpty()) {
302
+ add(avoidPolygons)
303
+ add(avoidPolygons.first())
304
+ add(avoidPolygons.flatten())
305
+ } else {
306
+ add(emptyList<NaviLatLng>())
307
+ }
308
+ }
309
+
310
+ for (avoidArg in avoidPolygonArgs) {
311
+ if (startList != null) {
312
+ val listArgs = buildList<Array<Any>> {
313
+ add(arrayOf(startList, endList, waypointsLatLng, avoidArg, avoidRoad, strategy, 1, listener))
314
+ add(arrayOf(startList, endList, waypointsLatLng, avoidArg, strategy, 1, listener))
315
+ if (hasAvoidRoad) {
316
+ add(arrayOf(startList, endList, waypointsLatLng, avoidRoad, strategy, 1, listener))
317
+ }
318
+ }
319
+
320
+ for (args in listArgs) {
321
+ invokeMethodIfMatch(
322
+ target = navi,
323
+ methodName = "independentCalculateRoute",
324
+ args = args
325
+ )?.let { return it }
326
+ }
327
+ }
328
+
329
+ if (fromPoi != null) {
330
+ val poiArgs = buildList<Array<Any>> {
331
+ add(arrayOf(fromPoi, toPoi, waypointsPoi, avoidArg, avoidRoad, strategy, 1, listener))
332
+ add(arrayOf(fromPoi, toPoi, waypointsPoi, avoidArg, strategy, 1, listener))
333
+ if (hasAvoidRoad) {
334
+ add(arrayOf(fromPoi, toPoi, waypointsPoi, avoidRoad, strategy, 1, listener))
335
+ }
336
+ }
337
+
338
+ for (args in poiArgs) {
339
+ invokeMethodIfMatch(
340
+ target = navi,
341
+ methodName = "independentCalculateRoute",
342
+ args = args
343
+ )?.let { return it }
344
+ }
345
+ }
346
+ }
347
+
348
+ return null
349
+ }
350
+
351
+ private fun invokeMethodIfMatch(
352
+ target: Any,
353
+ methodName: String,
354
+ args: Array<Any>
355
+ ): Boolean? {
356
+ val methods = target.javaClass.methods.filter { method ->
357
+ method.name == methodName && method.parameterTypes.size == args.size
358
+ }
359
+
360
+ for (method in methods) {
361
+ if (!areArgsCompatible(method.parameterTypes, args)) continue
362
+ try {
363
+ val value = method.invoke(target, *args)
364
+ return if (value is Boolean) value else true
365
+ } catch (_: Exception) {
366
+ // 尝试下一个重载
367
+ }
368
+ }
369
+
370
+ return null
371
+ }
372
+
373
+ private fun areArgsCompatible(paramTypes: Array<Class<*>>, args: Array<Any>): Boolean {
374
+ if (paramTypes.size != args.size) return false
375
+ for (index in paramTypes.indices) {
376
+ val expected = boxPrimitive(paramTypes[index])
377
+ val actual = args[index].javaClass
378
+ if (!expected.isAssignableFrom(actual)) return false
379
+ }
380
+ return true
381
+ }
382
+
383
+ private fun boxPrimitive(type: Class<*>): Class<*> {
384
+ return when (type) {
385
+ java.lang.Integer.TYPE -> java.lang.Integer::class.java
386
+ java.lang.Long.TYPE -> java.lang.Long::class.java
387
+ java.lang.Boolean.TYPE -> java.lang.Boolean::class.java
388
+ java.lang.Float.TYPE -> java.lang.Float::class.java
389
+ java.lang.Double.TYPE -> java.lang.Double::class.java
390
+ java.lang.Short.TYPE -> java.lang.Short::class.java
391
+ java.lang.Byte.TYPE -> java.lang.Byte::class.java
392
+ java.lang.Character.TYPE -> java.lang.Character::class.java
393
+ else -> type
394
+ }
395
+ }
396
+ }
@@ -42,6 +42,36 @@ object Converters {
42
42
  return list?.map { parseNaviPoi(it) } ?: emptyList()
43
43
  }
44
44
 
45
+ /**
46
+ * 转换途经点列表(NaviLatLng)
47
+ */
48
+ fun parseWaypointsLatLng(list: List<Map<String, Any?>>?): List<NaviLatLng> {
49
+ return list?.map { parseNaviLatLng(it) } ?: emptyList()
50
+ }
51
+
52
+ /**
53
+ * 转换避让区域(多边形)
54
+ * 输入结构:[[{latitude, longitude}, ...], ...]
55
+ * 每个多边形至少 3 个点才有效
56
+ */
57
+ @Suppress("UNCHECKED_CAST")
58
+ fun parseAvoidPolygons(raw: Any?): List<List<NaviLatLng>> {
59
+ val polygons = raw as? List<*> ?: return emptyList()
60
+
61
+ return polygons.mapNotNull { polygonRaw ->
62
+ val pointsRaw = polygonRaw as? List<*> ?: return@mapNotNull null
63
+ val points = pointsRaw.mapNotNull { pointRaw ->
64
+ val point = pointRaw as? Map<String, Any?> ?: return@mapNotNull null
65
+ try {
66
+ parseNaviLatLng(point)
67
+ } catch (_: Exception) {
68
+ null
69
+ }
70
+ }
71
+ if (points.size >= 3) points else null
72
+ }
73
+ }
74
+
45
75
  /**
46
76
  * 转换导航路径信息(用于 getNaviInfo)
47
77
  * Android SDK 中导航信息通过路径对象获取
@@ -135,4 +165,4 @@ object Converters {
135
165
  )
136
166
  } ?: emptyList()
137
167
  }
138
- }
168
+ }
package/build/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import ExpoGaodeMapNavigationModule from './ExpoGaodeMapNavigationModule';
2
2
  export * from './map';
3
3
  import { RouteType, DriveStrategy, WalkStrategy, RideStrategy, TruckSize, TravelStrategy, type TransitRouteOptions } from './types';
4
- import type { NaviPoint, RouteOptions, DriveRouteOptions, WalkRouteOptions, RideRouteOptions, EBikeRouteOptions, TransitRouteOptions as TransitRouteOptionsType, TruckRouteOptions, RouteResult, DriveRouteResult, IndependentRouteResult, IndependentDriveRouteOptions, IndependentTruckRouteOptions, IndependentWalkRouteOptions, IndependentRideRouteOptions, SelectIndependentRouteOptions, StartNaviWithIndependentPathOptions, ClearIndependentRouteOptions, MotorcycleRouteOptions, IndependentMotorcycleRouteOptions } from './types';
4
+ import type { NaviPoint, RouteOptions, DriveRouteOptions, WalkRouteOptions, RideRouteOptions, EBikeRouteOptions, TransitRouteOptions as TransitRouteOptionsType, TruckRouteOptions, OfficialNaviPageOptions, RouteResult, DriveRouteResult, IndependentRouteResult, IndependentDriveRouteOptions, IndependentTruckRouteOptions, IndependentWalkRouteOptions, IndependentRideRouteOptions, SelectIndependentRouteOptions, StartNaviWithIndependentPathOptions, ClearIndependentRouteOptions, MotorcycleRouteOptions, IndependentMotorcycleRouteOptions } from './types';
5
5
  export { ExpoGaodeMapNaviView, type ExpoGaodeMapNaviViewRef, ExpoGaodeMapNaviView as NaviView, type ExpoGaodeMapNaviViewRef as NaviViewRef } from './ExpoGaodeMapNaviView';
6
6
  /**
7
7
  * 初始化导航模块(可选)
@@ -63,11 +63,15 @@ export declare const selectIndependentRoute: (options: SelectIndependentRouteOpt
63
63
  * 独立路径组:使用指定路线启动导航
64
64
  */
65
65
  export declare const startNaviWithIndependentPath: (options: StartNaviWithIndependentPathOptions) => Promise<boolean>;
66
+ /**
67
+ * 打开高德官方导航页(Android 原生 AmapNaviPage)
68
+ */
69
+ export declare const openOfficialNaviPage: (options: OfficialNaviPageOptions) => Promise<boolean>;
66
70
  /**
67
71
  * 独立路径组:清理
68
72
  */
69
73
  export declare const clearIndependentRoute: (options: ClearIndependentRouteOptions) => Promise<boolean>;
70
- export type { NaviPoint, RouteOptions, DriveRouteOptions, WalkRouteOptions, RideRouteOptions, EBikeRouteOptions, TransitRouteOptionsType as TransitRouteOptions, TruckRouteOptions, RouteResult, DriveRouteResult, IndependentRouteResult, IndependentDriveRouteOptions, IndependentTruckRouteOptions, IndependentWalkRouteOptions, IndependentRideRouteOptions, SelectIndependentRouteOptions, StartNaviWithIndependentPathOptions, ClearIndependentRouteOptions, MotorcycleRouteOptions, IndependentMotorcycleRouteOptions, };
74
+ export type { NaviPoint, RouteOptions, DriveRouteOptions, WalkRouteOptions, RideRouteOptions, EBikeRouteOptions, TransitRouteOptionsType as TransitRouteOptions, TruckRouteOptions, RouteResult, DriveRouteResult, IndependentRouteResult, IndependentDriveRouteOptions, IndependentTruckRouteOptions, IndependentWalkRouteOptions, IndependentRideRouteOptions, SelectIndependentRouteOptions, StartNaviWithIndependentPathOptions, OfficialNaviPageOptions, ClearIndependentRouteOptions, MotorcycleRouteOptions, IndependentMotorcycleRouteOptions, };
71
75
  export { RouteType, DriveStrategy, WalkStrategy, RideStrategy, TruckSize, TravelStrategy, };
72
76
  declare const _default: {
73
77
  initNavigation: () => void;
@@ -87,6 +91,7 @@ declare const _default: {
87
91
  independentMotorcycleRoute: (options: IndependentMotorcycleRouteOptions) => Promise<IndependentRouteResult>;
88
92
  selectIndependentRoute: (options: SelectIndependentRouteOptions) => Promise<boolean>;
89
93
  startNaviWithIndependentPath: (options: StartNaviWithIndependentPathOptions) => Promise<boolean>;
94
+ openOfficialNaviPage: (options: OfficialNaviPageOptions) => Promise<boolean>;
90
95
  clearIndependentRoute: (options: ClearIndependentRouteOptions) => Promise<boolean>;
91
96
  };
92
97
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/build/index.js CHANGED
@@ -168,6 +168,10 @@ export const selectIndependentRoute = (options) => ExpoGaodeMapNavigationModule.
168
168
  * 独立路径组:使用指定路线启动导航
169
169
  */
170
170
  export const startNaviWithIndependentPath = (options) => ExpoGaodeMapNavigationModule.startNaviWithIndependentPath(options);
171
+ /**
172
+ * 打开高德官方导航页(Android 原生 AmapNaviPage)
173
+ */
174
+ export const openOfficialNaviPage = (options) => ExpoGaodeMapNavigationModule.openOfficialNaviPage(options);
171
175
  /**
172
176
  * 独立路径组:清理
173
177
  */
@@ -196,6 +200,7 @@ export default {
196
200
  // 独立路径组操作
197
201
  selectIndependentRoute,
198
202
  startNaviWithIndependentPath,
203
+ openOfficialNaviPage,
199
204
  clearIndependentRoute,
200
205
  };
201
206
  export { ExpoGaodeMapNavigationModule, };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import ExpoGaodeMapNavigationModule from './ExpoGaodeMapNavigationModule';\n\n// 重新导出地图模块的所有内容\nexport * from './map';\nimport {\n RouteType,\n DriveStrategy,\n WalkStrategy,\n RideStrategy,\n TruckSize,\n TravelStrategy,\n type TransitRouteOptions,\n} from './types';\nimport type {\n NaviPoint,\n RouteOptions,\n DriveRouteOptions,\n WalkRouteOptions,\n RideRouteOptions,\n EBikeRouteOptions,\n TransitRouteOptions as TransitRouteOptionsType,\n TruckRouteOptions,\n RouteResult,\n DriveRouteResult,\n IndependentRouteResult,\n IndependentDriveRouteOptions,\n IndependentTruckRouteOptions,\n IndependentWalkRouteOptions,\n IndependentRideRouteOptions,\n SelectIndependentRouteOptions,\n StartNaviWithIndependentPathOptions,\n ClearIndependentRouteOptions,\n MotorcycleRouteOptions,\n IndependentMotorcycleRouteOptions,\n} from './types';\n\nfunction parsePolyline(polyline?: string): NaviPoint[] {\n if (!polyline?.trim()) {\n return [];\n }\n\n return polyline\n .split(';')\n .map((segment) => segment.trim())\n .filter(Boolean)\n .map((segment) => {\n const [longitude, latitude] = segment.split(',').map((value) => Number(value.trim()));\n if (!Number.isFinite(longitude) || !Number.isFinite(latitude)) {\n return null;\n }\n\n return {\n latitude,\n longitude,\n };\n })\n .filter((point): point is NaviPoint => point !== null);\n}\n\nasync function loadWebApiTransitFallback() {\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const webApi = require('expo-gaode-map-web-api');\n if (typeof webApi?.GaodeWebAPI !== 'function') {\n throw new Error('expo-gaode-map-web-api 未导出 GaodeWebAPI');\n }\n return webApi;\n } catch {\n throw new Error(\n '公交路径规划依赖 expo-gaode-map-web-api。请安装该包,并在 ExpoGaodeMapModule.initSDK 中提供 webKey。'\n );\n }\n}\n\nfunction normalizeTransitRouteResult(\n options: TransitRouteOptions,\n result: any\n): DriveRouteResult {\n // 导航包内部仍保持独立实现;\n // 这里只是在“公交无法由导航 SDK 直算”时,把 Web API 结果映射成现有 RouteResult 形状。\n const routes = (result?.route?.transits ?? []).map((transit: any, index: number) => {\n const polyline = (transit?.segments ?? []).flatMap((segment: any) => [\n ...(segment.walking?.steps?.flatMap((step: any) => parsePolyline(step.polyline)) ?? []),\n ...(segment.bus?.buslines?.flatMap((line: any) => parsePolyline(line.polyline)) ?? []),\n ...(segment.railway?.buslines?.flatMap((line: any) => parsePolyline(line.polyline)) ?? []),\n ]);\n\n return {\n id: index,\n start: options.from,\n end: options.to,\n distance: Number(transit?.distance ?? 0),\n duration: Number(transit?.cost?.duration ?? 0),\n segments: [],\n polyline,\n tollDistance: 0,\n tollCost: Number(transit?.cost?.transit_fee ?? 0),\n strategy: options.strategy,\n };\n });\n\n return {\n count: routes.length,\n mainPathIndex: 0,\n routes,\n };\n}\n\nfunction hasStrategyOption(\n options: RouteOptions\n): options is WalkRouteOptions | RideRouteOptions {\n return 'strategy' in options;\n}\n\nfunction isMotorcycleRouteOptions(\n options: RouteOptions | MotorcycleRouteOptions\n): options is MotorcycleRouteOptions {\n return 'motorcycleCC' in options;\n}\n\n// 导出官方导航界面组件\nexport { \n ExpoGaodeMapNaviView, \n type ExpoGaodeMapNaviViewRef,\n // 兼容旧版本名称\n ExpoGaodeMapNaviView as NaviView,\n type ExpoGaodeMapNaviViewRef as NaviViewRef \n} from './ExpoGaodeMapNaviView';\n\n/**\n * 初始化导航模块(可选)\n */\nexport const initNavigation = () => ExpoGaodeMapNavigationModule.initNavigation();\n\n/**\n * 销毁所有路径计算器实例\n * 用于页面切换时释放资源,避免\"Another route calculation is in progress\"错误\n */\nexport const destroyAllCalculators = () => ExpoGaodeMapNavigationModule.destroyAllCalculators();\n\n/**\n * 路径规划(通用方法)\n */\nexport async function calculateRoute(\n options: RouteOptions\n): Promise<RouteResult | DriveRouteResult> {\n if ('type' in options && options.type === RouteType.TRANSIT) {\n return calculateTransitRoute(options as TransitRouteOptions);\n }\n\n // 1. 货车\n if ('size' in options) {\n return calculateTruckRoute(options as TruckRouteOptions);\n }\n \n // 2. 步行、骑行、电动车\n if ('multiple' in options || 'travelStrategy' in options) {\n if ('usePoi' in options) return calculateEBikeRoute(options as EBikeRouteOptions);\n \n // 策略判断:0 或 1 通常为骑行策略,其余默认步行\n const strategy = hasStrategyOption(options) ? options.strategy : undefined;\n if (strategy === 0 || strategy === 1) {\n return calculateRideRoute(options as RideRouteOptions);\n }\n return calculateWalkRoute(options as WalkRouteOptions);\n }\n\n // 3. 摩托车 (通过 carType 或 motorcycleCC 判断)\n if (isMotorcycleRouteOptions(options)) {\n return calculateMotorcycleRoute(options as MotorcycleRouteOptions);\n }\n\n // 4. 默认驾车\n return calculateDriveRoute(options as DriveRouteOptions);\n}\n\n/**\n * 驾车路径规划\n */\nexport const calculateDriveRoute = (options: DriveRouteOptions) => \n ExpoGaodeMapNavigationModule.calculateDriveRoute(options);\n\n/**\n * 步行路径规划\n */\nexport const calculateWalkRoute = (options: WalkRouteOptions) => \n ExpoGaodeMapNavigationModule.calculateWalkRoute(options);\n\n/**\n * 骑行路径规划\n */\nexport const calculateRideRoute = (options: RideRouteOptions) => \n ExpoGaodeMapNavigationModule.calculateRideRoute(options);\n\n/**\n * 骑行电动车路径规划\n */\nexport const calculateEBikeRoute = (options: EBikeRouteOptions) => \n ExpoGaodeMapNavigationModule.calculateEBikeRoute(options);\n\n/**\n * 货车路径规划\n */\nexport const calculateTruckRoute = (options: TruckRouteOptions) => \n ExpoGaodeMapNavigationModule.calculateTruckRoute(options);\n\n/**\n * 摩托车路径规划(车类型为 11,支持传入排量)\n */\nexport const calculateMotorcycleRoute = (options: MotorcycleRouteOptions) => \n ExpoGaodeMapNavigationModule.calculateMotorcycleRoute(options);\n\n/**\n * 公交换乘路径规划(运行时 fallback 到 Web API)\n */\nexport async function calculateTransitRoute(options: TransitRouteOptions): Promise<DriveRouteResult> {\n // 运行时按需加载,避免把 navigation 包和 web-api 包在构建期强绑定。\n const { GaodeWebAPI, TransitStrategy } = await loadWebApiTransitFallback();\n const api = new GaodeWebAPI();\n const result = await api.route.transit(\n `${options.from.longitude},${options.from.latitude}`,\n `${options.to.longitude},${options.to.latitude}`,\n options.city1,\n options.city2,\n {\n strategy: options.strategy ?? TransitStrategy.RECOMMENDED,\n AlternativeRoute: options.alternativeRoute,\n show_fields: 'cost,polyline',\n }\n );\n\n return normalizeTransitRouteResult(options, result);\n}\n\n/**\n* 独立路径规划(不会影响当前导航;适合路线预览/行前选路)\n*/\nexport const independentDriveRoute = (options: IndependentDriveRouteOptions) => \n ExpoGaodeMapNavigationModule.independentDriveRoute(options);\n\nexport const independentTruckRoute = (options: IndependentTruckRouteOptions) => \n ExpoGaodeMapNavigationModule.independentTruckRoute(options);\n\nexport const independentWalkRoute = (options: IndependentWalkRouteOptions) => \n ExpoGaodeMapNavigationModule.independentWalkRoute(options);\n\nexport const independentRideRoute = (options: IndependentRideRouteOptions) => \n ExpoGaodeMapNavigationModule.independentRideRoute(options);\n\n/**\n * 独立摩托车路径规划(不干扰当前导航)\n */\nexport const independentMotorcycleRoute = (options: IndependentMotorcycleRouteOptions) => \n ExpoGaodeMapNavigationModule.independentMotorcycleRoute(options);\n\n/**\n * 独立路径组:选主路线\n */\nexport const selectIndependentRoute = (options: SelectIndependentRouteOptions) => \n ExpoGaodeMapNavigationModule.selectIndependentRoute(options);\n\n/**\n * 独立路径组:使用指定路线启动导航\n */\nexport const startNaviWithIndependentPath = (options: StartNaviWithIndependentPathOptions) => \n ExpoGaodeMapNavigationModule.startNaviWithIndependentPath(options);\n\n/**\n * 独立路径组:清理\n */\nexport const clearIndependentRoute = (options: ClearIndependentRouteOptions) => \n ExpoGaodeMapNavigationModule.clearIndependentRoute(options);\n\n// 导出导航相关类型与枚举(Coordinates 从 map 模块导出)\nexport type {\n NaviPoint,\n RouteOptions,\n DriveRouteOptions,\n WalkRouteOptions,\n RideRouteOptions,\n EBikeRouteOptions,\n TransitRouteOptionsType as TransitRouteOptions,\n TruckRouteOptions,\n RouteResult,\n DriveRouteResult,\n IndependentRouteResult,\n IndependentDriveRouteOptions,\n IndependentTruckRouteOptions,\n IndependentWalkRouteOptions,\n IndependentRideRouteOptions,\n SelectIndependentRouteOptions,\n StartNaviWithIndependentPathOptions,\n ClearIndependentRouteOptions,\n MotorcycleRouteOptions,\n IndependentMotorcycleRouteOptions,\n};\n\nexport {\n RouteType,\n DriveStrategy,\n WalkStrategy,\n RideStrategy,\n TruckSize,\n TravelStrategy,\n};\n\n// 精简后的默认导出\nexport default {\n // 初始化\n initNavigation,\n destroyAllCalculators,\n\n // 路径规划\n calculateRoute,\n calculateDriveRoute,\n calculateWalkRoute,\n calculateRideRoute,\n calculateEBikeRoute,\n calculateTransitRoute,\n calculateTruckRoute,\n calculateMotorcycleRoute,\n\n // 独立路径规划\n independentDriveRoute,\n independentTruckRoute,\n independentWalkRoute,\n independentRideRoute,\n independentMotorcycleRoute,\n\n // 独立路径组操作\n selectIndependentRoute,\n startNaviWithIndependentPath,\n clearIndependentRoute,\n};\n\nexport {\n ExpoGaodeMapNavigationModule,\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import ExpoGaodeMapNavigationModule from './ExpoGaodeMapNavigationModule';\n\n// 重新导出地图模块的所有内容\nexport * from './map';\nimport {\n RouteType,\n DriveStrategy,\n WalkStrategy,\n RideStrategy,\n TruckSize,\n TravelStrategy,\n type TransitRouteOptions,\n} from './types';\nimport type {\n NaviPoint,\n RouteOptions,\n DriveRouteOptions,\n WalkRouteOptions,\n RideRouteOptions,\n EBikeRouteOptions,\n TransitRouteOptions as TransitRouteOptionsType,\n TruckRouteOptions,\n OfficialNaviPageOptions,\n RouteResult,\n DriveRouteResult,\n IndependentRouteResult,\n IndependentDriveRouteOptions,\n IndependentTruckRouteOptions,\n IndependentWalkRouteOptions,\n IndependentRideRouteOptions,\n SelectIndependentRouteOptions,\n StartNaviWithIndependentPathOptions,\n ClearIndependentRouteOptions,\n MotorcycleRouteOptions,\n IndependentMotorcycleRouteOptions,\n} from './types';\n\nfunction parsePolyline(polyline?: string): NaviPoint[] {\n if (!polyline?.trim()) {\n return [];\n }\n\n return polyline\n .split(';')\n .map((segment) => segment.trim())\n .filter(Boolean)\n .map((segment) => {\n const [longitude, latitude] = segment.split(',').map((value) => Number(value.trim()));\n if (!Number.isFinite(longitude) || !Number.isFinite(latitude)) {\n return null;\n }\n\n return {\n latitude,\n longitude,\n };\n })\n .filter((point): point is NaviPoint => point !== null);\n}\n\nasync function loadWebApiTransitFallback() {\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const webApi = require('expo-gaode-map-web-api');\n if (typeof webApi?.GaodeWebAPI !== 'function') {\n throw new Error('expo-gaode-map-web-api 未导出 GaodeWebAPI');\n }\n return webApi;\n } catch {\n throw new Error(\n '公交路径规划依赖 expo-gaode-map-web-api。请安装该包,并在 ExpoGaodeMapModule.initSDK 中提供 webKey。'\n );\n }\n}\n\nfunction normalizeTransitRouteResult(\n options: TransitRouteOptions,\n result: any\n): DriveRouteResult {\n // 导航包内部仍保持独立实现;\n // 这里只是在“公交无法由导航 SDK 直算”时,把 Web API 结果映射成现有 RouteResult 形状。\n const routes = (result?.route?.transits ?? []).map((transit: any, index: number) => {\n const polyline = (transit?.segments ?? []).flatMap((segment: any) => [\n ...(segment.walking?.steps?.flatMap((step: any) => parsePolyline(step.polyline)) ?? []),\n ...(segment.bus?.buslines?.flatMap((line: any) => parsePolyline(line.polyline)) ?? []),\n ...(segment.railway?.buslines?.flatMap((line: any) => parsePolyline(line.polyline)) ?? []),\n ]);\n\n return {\n id: index,\n start: options.from,\n end: options.to,\n distance: Number(transit?.distance ?? 0),\n duration: Number(transit?.cost?.duration ?? 0),\n segments: [],\n polyline,\n tollDistance: 0,\n tollCost: Number(transit?.cost?.transit_fee ?? 0),\n strategy: options.strategy,\n };\n });\n\n return {\n count: routes.length,\n mainPathIndex: 0,\n routes,\n };\n}\n\nfunction hasStrategyOption(\n options: RouteOptions\n): options is WalkRouteOptions | RideRouteOptions {\n return 'strategy' in options;\n}\n\nfunction isMotorcycleRouteOptions(\n options: RouteOptions | MotorcycleRouteOptions\n): options is MotorcycleRouteOptions {\n return 'motorcycleCC' in options;\n}\n\n// 导出官方导航界面组件\nexport { \n ExpoGaodeMapNaviView, \n type ExpoGaodeMapNaviViewRef,\n // 兼容旧版本名称\n ExpoGaodeMapNaviView as NaviView,\n type ExpoGaodeMapNaviViewRef as NaviViewRef \n} from './ExpoGaodeMapNaviView';\n\n/**\n * 初始化导航模块(可选)\n */\nexport const initNavigation = () => ExpoGaodeMapNavigationModule.initNavigation();\n\n/**\n * 销毁所有路径计算器实例\n * 用于页面切换时释放资源,避免\"Another route calculation is in progress\"错误\n */\nexport const destroyAllCalculators = () => ExpoGaodeMapNavigationModule.destroyAllCalculators();\n\n/**\n * 路径规划(通用方法)\n */\nexport async function calculateRoute(\n options: RouteOptions\n): Promise<RouteResult | DriveRouteResult> {\n if ('type' in options && options.type === RouteType.TRANSIT) {\n return calculateTransitRoute(options as TransitRouteOptions);\n }\n\n // 1. 货车\n if ('size' in options) {\n return calculateTruckRoute(options as TruckRouteOptions);\n }\n \n // 2. 步行、骑行、电动车\n if ('multiple' in options || 'travelStrategy' in options) {\n if ('usePoi' in options) return calculateEBikeRoute(options as EBikeRouteOptions);\n \n // 策略判断:0 或 1 通常为骑行策略,其余默认步行\n const strategy = hasStrategyOption(options) ? options.strategy : undefined;\n if (strategy === 0 || strategy === 1) {\n return calculateRideRoute(options as RideRouteOptions);\n }\n return calculateWalkRoute(options as WalkRouteOptions);\n }\n\n // 3. 摩托车 (通过 carType 或 motorcycleCC 判断)\n if (isMotorcycleRouteOptions(options)) {\n return calculateMotorcycleRoute(options as MotorcycleRouteOptions);\n }\n\n // 4. 默认驾车\n return calculateDriveRoute(options as DriveRouteOptions);\n}\n\n/**\n * 驾车路径规划\n */\nexport const calculateDriveRoute = (options: DriveRouteOptions) => \n ExpoGaodeMapNavigationModule.calculateDriveRoute(options);\n\n/**\n * 步行路径规划\n */\nexport const calculateWalkRoute = (options: WalkRouteOptions) => \n ExpoGaodeMapNavigationModule.calculateWalkRoute(options);\n\n/**\n * 骑行路径规划\n */\nexport const calculateRideRoute = (options: RideRouteOptions) => \n ExpoGaodeMapNavigationModule.calculateRideRoute(options);\n\n/**\n * 骑行电动车路径规划\n */\nexport const calculateEBikeRoute = (options: EBikeRouteOptions) => \n ExpoGaodeMapNavigationModule.calculateEBikeRoute(options);\n\n/**\n * 货车路径规划\n */\nexport const calculateTruckRoute = (options: TruckRouteOptions) => \n ExpoGaodeMapNavigationModule.calculateTruckRoute(options);\n\n/**\n * 摩托车路径规划(车类型为 11,支持传入排量)\n */\nexport const calculateMotorcycleRoute = (options: MotorcycleRouteOptions) => \n ExpoGaodeMapNavigationModule.calculateMotorcycleRoute(options);\n\n/**\n * 公交换乘路径规划(运行时 fallback 到 Web API)\n */\nexport async function calculateTransitRoute(options: TransitRouteOptions): Promise<DriveRouteResult> {\n // 运行时按需加载,避免把 navigation 包和 web-api 包在构建期强绑定。\n const { GaodeWebAPI, TransitStrategy } = await loadWebApiTransitFallback();\n const api = new GaodeWebAPI();\n const result = await api.route.transit(\n `${options.from.longitude},${options.from.latitude}`,\n `${options.to.longitude},${options.to.latitude}`,\n options.city1,\n options.city2,\n {\n strategy: options.strategy ?? TransitStrategy.RECOMMENDED,\n AlternativeRoute: options.alternativeRoute,\n show_fields: 'cost,polyline',\n }\n );\n\n return normalizeTransitRouteResult(options, result);\n}\n\n/**\n* 独立路径规划(不会影响当前导航;适合路线预览/行前选路)\n*/\nexport const independentDriveRoute = (options: IndependentDriveRouteOptions) => \n ExpoGaodeMapNavigationModule.independentDriveRoute(options);\n\nexport const independentTruckRoute = (options: IndependentTruckRouteOptions) => \n ExpoGaodeMapNavigationModule.independentTruckRoute(options);\n\nexport const independentWalkRoute = (options: IndependentWalkRouteOptions) => \n ExpoGaodeMapNavigationModule.independentWalkRoute(options);\n\nexport const independentRideRoute = (options: IndependentRideRouteOptions) => \n ExpoGaodeMapNavigationModule.independentRideRoute(options);\n\n/**\n * 独立摩托车路径规划(不干扰当前导航)\n */\nexport const independentMotorcycleRoute = (options: IndependentMotorcycleRouteOptions) => \n ExpoGaodeMapNavigationModule.independentMotorcycleRoute(options);\n\n/**\n * 独立路径组:选主路线\n */\nexport const selectIndependentRoute = (options: SelectIndependentRouteOptions) => \n ExpoGaodeMapNavigationModule.selectIndependentRoute(options);\n\n/**\n * 独立路径组:使用指定路线启动导航\n */\nexport const startNaviWithIndependentPath = (options: StartNaviWithIndependentPathOptions) => \n ExpoGaodeMapNavigationModule.startNaviWithIndependentPath(options);\n\n/**\n * 打开高德官方导航页(Android 原生 AmapNaviPage)\n */\nexport const openOfficialNaviPage = (options: OfficialNaviPageOptions) =>\n ExpoGaodeMapNavigationModule.openOfficialNaviPage(options);\n\n/**\n * 独立路径组:清理\n */\nexport const clearIndependentRoute = (options: ClearIndependentRouteOptions) => \n ExpoGaodeMapNavigationModule.clearIndependentRoute(options);\n\n// 导出导航相关类型与枚举(Coordinates 从 map 模块导出)\nexport type {\n NaviPoint,\n RouteOptions,\n DriveRouteOptions,\n WalkRouteOptions,\n RideRouteOptions,\n EBikeRouteOptions,\n TransitRouteOptionsType as TransitRouteOptions,\n TruckRouteOptions,\n RouteResult,\n DriveRouteResult,\n IndependentRouteResult,\n IndependentDriveRouteOptions,\n IndependentTruckRouteOptions,\n IndependentWalkRouteOptions,\n IndependentRideRouteOptions,\n SelectIndependentRouteOptions,\n StartNaviWithIndependentPathOptions,\n OfficialNaviPageOptions,\n ClearIndependentRouteOptions,\n MotorcycleRouteOptions,\n IndependentMotorcycleRouteOptions,\n};\n\nexport {\n RouteType,\n DriveStrategy,\n WalkStrategy,\n RideStrategy,\n TruckSize,\n TravelStrategy,\n};\n\n// 精简后的默认导出\nexport default {\n // 初始化\n initNavigation,\n destroyAllCalculators,\n\n // 路径规划\n calculateRoute,\n calculateDriveRoute,\n calculateWalkRoute,\n calculateRideRoute,\n calculateEBikeRoute,\n calculateTransitRoute,\n calculateTruckRoute,\n calculateMotorcycleRoute,\n\n // 独立路径规划\n independentDriveRoute,\n independentTruckRoute,\n independentWalkRoute,\n independentRideRoute,\n independentMotorcycleRoute,\n\n // 独立路径组操作\n selectIndependentRoute,\n startNaviWithIndependentPath,\n openOfficialNaviPage,\n clearIndependentRoute,\n};\n\nexport {\n ExpoGaodeMapNavigationModule,\n}\n"]}
@@ -56,6 +56,13 @@ export interface IndependentDriveRouteOptions {
56
56
  carNumber?: string;
57
57
  /** 是否考虑限行 */
58
58
  restriction?: boolean;
59
+ /** 避让区域(可选) */
60
+ avoidPolygons?: Array<Array<{
61
+ latitude: number;
62
+ longitude: number;
63
+ }>>;
64
+ /** 避让道路(道路名称,可选) */
65
+ avoidRoad?: string;
59
66
  }
60
67
  /**
61
68
  * 独立货车路径规划参数
@@ -1 +1 @@
1
- {"version":3,"file":"independent.types.d.ts","sourceRoot":"","sources":["../../src/types/independent.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"independent.types.d.ts","sourceRoot":"","sources":["../../src/types/independent.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"independent.types.js","sourceRoot":"","sources":["../../src/types/independent.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { RouteResult } from './route.types';\n\n/**\n * 独立路径规划返回结构(不会影响当前导航状态)\n *\n * - routes: 可直接用于路线预览(与普通算路的 RouteResult 结构一致)\n * - mainPathIndex: 主路线索引(调用 startNaviWithPath 前可选路)\n */\nexport interface IndependentRouteResult {\n independent: true;\n token: number;\n count: number;\n mainPathIndex: number;\n routeIds: number[];\n routes: RouteResult[];\n}\n\n/**\n * 独立驾车路径规划参数\n *\n * 说明:\n * - strategy 仍使用 DriveStrategy 即可;也可改用布尔组合标志(下方四个),原生会在未传 strategy 时走 strategyConvert\n * - restriction:是否考虑限行(与 carNumber 搭配)\n */\nexport interface IndependentDriveRouteOptions {\n /** 起点坐标 */\n from: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 终点坐标 */\n to: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 途经点列表 */\n waypoints?: Array<{\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n }>;\n /** 驾车策略 */\n strategy?: number;\n /** 避免拥堵 */\n avoidCongestion?: boolean;\n /** 避免高速 */\n avoidHighway?: boolean;\n /** 避免收费 */\n avoidCost?: boolean;\n /** 优先高速 */\n prioritiseHighway?: boolean;\n /** 车牌号 */\n carNumber?: string;\n /** 是否考虑限行 */\n restriction?: boolean;\n}\n\n/**\n * 独立货车路径规划参数\n *\n * 说明:\n * - 默认 carType=1,支持 carNumber / restriction;可在原生侧扩展轴数/长宽高/载重等\n * - 同样支持布尔组合标志以计算策略\n */\nexport interface IndependentTruckRouteOptions {\n /** 起点坐标 */\n from: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 终点坐标 */\n to: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 途经点列表 */\n waypoints?: Array<{\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n }>;\n /** 驾车策略 */\n strategy?: number;\n /** 避免拥堵 */\n avoidCongestion?: boolean;\n /** 避免高速 */\n avoidHighway?: boolean;\n /** 避免收费 */\n avoidCost?: boolean;\n /** 优先高速 */\n prioritiseHighway?: boolean;\n /** 车牌号 */\n carNumber?: string;\n /** 是否考虑限行 */\n restriction?: boolean;\n}\n\n/**\n * 摩托车路径规划参数\n *\n * 说明:\n * - 与驾车算路一致,但需在原生侧设置 AMapCarInfo.carType=11,并可传 motorcycleCC(排量)\n * - carNumber 可用于限行策略参考\n */\nexport interface MotorcycleRouteOptions {\n /** 起点坐标 */\n from: {\n latitude: number;\n longitude: number;\n };\n /** 终点坐标 */\n to: {\n latitude: number;\n longitude: number;\n };\n /** 途经点列表 */\n waypoints?: Array<{\n latitude: number;\n longitude: number;\n }>;\n /** 驾车策略 */\n strategy?: number;\n /** 避免拥堵 */\n avoidCongestion?: boolean;\n /** 避免高速 */\n avoidHighway?: boolean;\n /** 避免收费 */\n avoidCost?: boolean;\n /** 优先高速 */\n prioritiseHighway?: boolean;\n /** 车牌号(可选) */\n carNumber?: string;\n /** 摩托车排量(单位:cc,可选) */\n motorcycleCC?: number;\n}\n\n/**\n * 独立摩托车路径规划参数\n *\n * 说明:\n * - 与独立驾车一致,但需在原生侧设置 carType=11,并可传 motorcycleCC\n */\nexport interface IndependentMotorcycleRouteOptions {\n /** 起点坐标 */\n from: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 终点坐标 */\n to: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 途经点列表 */\n waypoints?: Array<{\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n }>;\n /** 驾车策略 */\n strategy?: number;\n /** 避免拥堵 */\n avoidCongestion?: boolean;\n /** 避免高速 */\n avoidHighway?: boolean;\n /** 避免收费 */\n avoidCost?: boolean;\n /** 优先高速 */\n prioritiseHighway?: boolean;\n /** 车牌号(可选) */\n carNumber?: string;\n /** 摩托车排量(单位:cc,可选) */\n motorcycleCC?: number;\n}\n\n/**\n * 独立步行路径规划参数\n *\n * 说明:\n * - 通过 travelStrategy 指定 SINGLE/MULTIPLE;或使用 multiple=true 开启多路线\n */\nexport interface IndependentWalkRouteOptions {\n /** 起点坐标 */\n from: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 终点坐标 */\n to: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 途经点列表 */\n waypoints?: Array<{\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n }>;\n /** 出行策略(单路线/多路线),对齐原生 TravelStrategy:1000/1001 */\n travelStrategy?: number;\n /** 是否返回多路线(等价于 travelStrategy=TravelStrategy.MULTIPLE) */\n multiple?: boolean;\n}\n\n/**\n * 独立骑行路径规划参数\n *\n * 说明:\n * - 通过 travelStrategy 指定 SINGLE/MULTIPLE;或使用 multiple=true 开启多路线\n */\nexport interface IndependentRideRouteOptions {\n /** 起点坐标 */\n from: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 终点坐标 */\n to: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 途经点列表 */\n waypoints?: Array<{\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n }>;\n /** 出行策略(单路线/多路线),对齐原生 TravelStrategy:1000/1001 */\n travelStrategy?: number;\n /** 是否返回多路线(等价于 travelStrategy=TravelStrategy.MULTIPLE) */\n multiple?: boolean;\n}\n\n/**\n * 选择独立路径组中的主路线参数\n * - token: 独立算路返回的 token\n * - routeId/routeIndex: 选路(优先使用 routeId;未提供则保持当前主路线)\n */\nexport interface SelectIndependentRouteOptions {\n token: number;\n routeId?: number;\n routeIndex?: number;\n}\n\n/**\n * 使用独立路径组启动导航参数\n * - token: 独立算路返回的 token\n * - naviType: 0=GPS; 1=EMULATOR(默认 0)\n * - routeId/routeIndex: 启动前可选路\n */\nexport interface StartNaviWithIndependentPathOptions {\n token: number;\n naviType?: number;\n routeId?: number;\n routeIndex?: number;\n}\n\n/**\n * 清理独立路径组\n */\nexport interface ClearIndependentRouteOptions {\n token: number;\n}"]}
1
+ {"version":3,"file":"independent.types.js","sourceRoot":"","sources":["../../src/types/independent.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { RouteResult } from './route.types';\n\n/**\n * 独立路径规划返回结构(不会影响当前导航状态)\n *\n * - routes: 可直接用于路线预览(与普通算路的 RouteResult 结构一致)\n * - mainPathIndex: 主路线索引(调用 startNaviWithPath 前可选路)\n */\nexport interface IndependentRouteResult {\n independent: true;\n token: number;\n count: number;\n mainPathIndex: number;\n routeIds: number[];\n routes: RouteResult[];\n}\n\n/**\n * 独立驾车路径规划参数\n *\n * 说明:\n * - strategy 仍使用 DriveStrategy 即可;也可改用布尔组合标志(下方四个),原生会在未传 strategy 时走 strategyConvert\n * - restriction:是否考虑限行(与 carNumber 搭配)\n */\nexport interface IndependentDriveRouteOptions {\n /** 起点坐标 */\n from: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 终点坐标 */\n to: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 途经点列表 */\n waypoints?: Array<{\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n }>;\n /** 驾车策略 */\n strategy?: number;\n /** 避免拥堵 */\n avoidCongestion?: boolean;\n /** 避免高速 */\n avoidHighway?: boolean;\n /** 避免收费 */\n avoidCost?: boolean;\n /** 优先高速 */\n prioritiseHighway?: boolean;\n /** 车牌号 */\n carNumber?: string;\n /** 是否考虑限行 */\n restriction?: boolean;\n /** 避让区域(可选) */\n avoidPolygons?: Array<Array<{\n latitude: number;\n longitude: number;\n }>>;\n /** 避让道路(道路名称,可选) */\n avoidRoad?: string;\n}\n\n/**\n * 独立货车路径规划参数\n *\n * 说明:\n * - 默认 carType=1,支持 carNumber / restriction;可在原生侧扩展轴数/长宽高/载重等\n * - 同样支持布尔组合标志以计算策略\n */\nexport interface IndependentTruckRouteOptions {\n /** 起点坐标 */\n from: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 终点坐标 */\n to: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 途经点列表 */\n waypoints?: Array<{\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n }>;\n /** 驾车策略 */\n strategy?: number;\n /** 避免拥堵 */\n avoidCongestion?: boolean;\n /** 避免高速 */\n avoidHighway?: boolean;\n /** 避免收费 */\n avoidCost?: boolean;\n /** 优先高速 */\n prioritiseHighway?: boolean;\n /** 车牌号 */\n carNumber?: string;\n /** 是否考虑限行 */\n restriction?: boolean;\n}\n\n/**\n * 摩托车路径规划参数\n *\n * 说明:\n * - 与驾车算路一致,但需在原生侧设置 AMapCarInfo.carType=11,并可传 motorcycleCC(排量)\n * - carNumber 可用于限行策略参考\n */\nexport interface MotorcycleRouteOptions {\n /** 起点坐标 */\n from: {\n latitude: number;\n longitude: number;\n };\n /** 终点坐标 */\n to: {\n latitude: number;\n longitude: number;\n };\n /** 途经点列表 */\n waypoints?: Array<{\n latitude: number;\n longitude: number;\n }>;\n /** 驾车策略 */\n strategy?: number;\n /** 避免拥堵 */\n avoidCongestion?: boolean;\n /** 避免高速 */\n avoidHighway?: boolean;\n /** 避免收费 */\n avoidCost?: boolean;\n /** 优先高速 */\n prioritiseHighway?: boolean;\n /** 车牌号(可选) */\n carNumber?: string;\n /** 摩托车排量(单位:cc,可选) */\n motorcycleCC?: number;\n}\n\n/**\n * 独立摩托车路径规划参数\n *\n * 说明:\n * - 与独立驾车一致,但需在原生侧设置 carType=11,并可传 motorcycleCC\n */\nexport interface IndependentMotorcycleRouteOptions {\n /** 起点坐标 */\n from: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 终点坐标 */\n to: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 途经点列表 */\n waypoints?: Array<{\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n }>;\n /** 驾车策略 */\n strategy?: number;\n /** 避免拥堵 */\n avoidCongestion?: boolean;\n /** 避免高速 */\n avoidHighway?: boolean;\n /** 避免收费 */\n avoidCost?: boolean;\n /** 优先高速 */\n prioritiseHighway?: boolean;\n /** 车牌号(可选) */\n carNumber?: string;\n /** 摩托车排量(单位:cc,可选) */\n motorcycleCC?: number;\n}\n\n/**\n * 独立步行路径规划参数\n *\n * 说明:\n * - 通过 travelStrategy 指定 SINGLE/MULTIPLE;或使用 multiple=true 开启多路线\n */\nexport interface IndependentWalkRouteOptions {\n /** 起点坐标 */\n from: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 终点坐标 */\n to: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 途经点列表 */\n waypoints?: Array<{\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n }>;\n /** 出行策略(单路线/多路线),对齐原生 TravelStrategy:1000/1001 */\n travelStrategy?: number;\n /** 是否返回多路线(等价于 travelStrategy=TravelStrategy.MULTIPLE) */\n multiple?: boolean;\n}\n\n/**\n * 独立骑行路径规划参数\n *\n * 说明:\n * - 通过 travelStrategy 指定 SINGLE/MULTIPLE;或使用 multiple=true 开启多路线\n */\nexport interface IndependentRideRouteOptions {\n /** 起点坐标 */\n from: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 终点坐标 */\n to: {\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n };\n /** 途经点列表 */\n waypoints?: Array<{\n latitude: number;\n longitude: number;\n name?: string;\n poiId?: string;\n }>;\n /** 出行策略(单路线/多路线),对齐原生 TravelStrategy:1000/1001 */\n travelStrategy?: number;\n /** 是否返回多路线(等价于 travelStrategy=TravelStrategy.MULTIPLE) */\n multiple?: boolean;\n}\n\n/**\n * 选择独立路径组中的主路线参数\n * - token: 独立算路返回的 token\n * - routeId/routeIndex: 选路(优先使用 routeId;未提供则保持当前主路线)\n */\nexport interface SelectIndependentRouteOptions {\n token: number;\n routeId?: number;\n routeIndex?: number;\n}\n\n/**\n * 使用独立路径组启动导航参数\n * - token: 独立算路返回的 token\n * - naviType: 0=GPS; 1=EMULATOR(默认 0)\n * - routeId/routeIndex: 启动前可选路\n */\nexport interface StartNaviWithIndependentPathOptions {\n token: number;\n naviType?: number;\n routeId?: number;\n routeIndex?: number;\n}\n\n/**\n * 清理独立路径组\n */\nexport interface ClearIndependentRouteOptions {\n token: number;\n}"]}
@@ -1,5 +1,5 @@
1
1
  import type { NativeModule } from 'expo';
2
- import { DriveRouteOptions, DriveRouteResult, EBikeRouteOptions, RideRouteOptions, RouteResult, TruckRouteOptions, WalkRouteOptions } from './route.types';
2
+ import { DriveRouteOptions, DriveRouteResult, EBikeRouteOptions, OfficialNaviPageOptions, RideRouteOptions, RouteResult, TruckRouteOptions, WalkRouteOptions } from './route.types';
3
3
  import { MotorcycleRouteOptions, IndependentDriveRouteOptions, IndependentTruckRouteOptions, IndependentWalkRouteOptions, IndependentRideRouteOptions, IndependentMotorcycleRouteOptions, IndependentRouteResult, SelectIndependentRouteOptions, StartNaviWithIndependentPathOptions, ClearIndependentRouteOptions } from './independent.types';
4
4
  export interface ExpoGaodeMapNavigationModule extends NativeModule {
5
5
  /**
@@ -62,6 +62,10 @@ export interface ExpoGaodeMapNavigationModule extends NativeModule {
62
62
  * 启动独立路径导航(会影响当前导航)
63
63
  */
64
64
  startNaviWithIndependentPath: (options: StartNaviWithIndependentPathOptions) => Promise<boolean>;
65
+ /**
66
+ * 打开官方导航页(Android: AmapNaviPage.showRouteActivity)
67
+ */
68
+ openOfficialNaviPage: (options: OfficialNaviPageOptions) => Promise<boolean>;
65
69
  /**
66
70
  * 清除独立路径(会影响当前导航)
67
71
  */
@@ -1 +1 @@
1
- {"version":3,"file":"native-module.types.d.ts","sourceRoot":"","sources":["../../src/types/native-module.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC3J,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,iCAAiC,EACjC,sBAAsB,EACtB,6BAA6B,EAC7B,mCAAmC,EACnC,4BAA4B,EAC7B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,4BAA6B,SAAQ,YAAY;IAC9D;;OAEG;IACH,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B;;OAEG;IACH,qBAAqB,EAAE,MAAM,IAAI,CAAA;IACjC;;OAEG;IACH,mBAAmB,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC9E;;OAEG;IACH,kBAAkB,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;IACvE;;OAEG;IACH,kBAAkB,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;IACvE;;OAEG;IACH,mBAAmB,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;IACzE;;OAEG;IACH,mBAAmB,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC9E;;OAEG;IACH,wBAAwB,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAExF;;OAEG;IACH,qBAAqB,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAA;IACjG;;OAEG;IACH,qBAAqB,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAA;IACjG;;OAEG;IACH,oBAAoB,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAC/F;;OAEG;IACH,oBAAoB,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAC/F;;OAEG;IACH,0BAA0B,EAAE,CAAC,OAAO,EAAE,iCAAiC,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAE3G;;OAEG;IACH,sBAAsB,EAAE,CAAC,OAAO,EAAE,6BAA6B,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACpF;;OAEG;IACH,4BAA4B,EAAE,CAAC,OAAO,EAAE,mCAAmC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAChG;;OAEG;IACH,qBAAqB,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACrF"}
1
+ {"version":3,"file":"native-module.types.d.ts","sourceRoot":"","sources":["../../src/types/native-module.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACpL,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,iCAAiC,EACjC,sBAAsB,EACtB,6BAA6B,EAC7B,mCAAmC,EACnC,4BAA4B,EAC7B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,4BAA6B,SAAQ,YAAY;IAC9D;;OAEG;IACH,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B;;OAEG;IACH,qBAAqB,EAAE,MAAM,IAAI,CAAA;IACjC;;OAEG;IACH,mBAAmB,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC9E;;OAEG;IACH,kBAAkB,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;IACvE;;OAEG;IACH,kBAAkB,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;IACvE;;OAEG;IACH,mBAAmB,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;IACzE;;OAEG;IACH,mBAAmB,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC9E;;OAEG;IACH,wBAAwB,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAExF;;OAEG;IACH,qBAAqB,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAA;IACjG;;OAEG;IACH,qBAAqB,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAA;IACjG;;OAEG;IACH,oBAAoB,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAC/F;;OAEG;IACH,oBAAoB,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAC/F;;OAEG;IACH,0BAA0B,EAAE,CAAC,OAAO,EAAE,iCAAiC,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAE3G;;OAEG;IACH,sBAAsB,EAAE,CAAC,OAAO,EAAE,6BAA6B,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACpF;;OAEG;IACH,4BAA4B,EAAE,CAAC,OAAO,EAAE,mCAAmC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAChG;;OAEG;IACH,oBAAoB,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5E;;OAEG;IACH,qBAAqB,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACrF"}
@@ -1 +1 @@
1
- {"version":3,"file":"native-module.types.js","sourceRoot":"","sources":["../../src/types/native-module.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { NativeModule } from 'expo';\nimport { DriveRouteOptions, DriveRouteResult, EBikeRouteOptions, RideRouteOptions, RouteResult, TruckRouteOptions, WalkRouteOptions } from './route.types';\nimport { \n MotorcycleRouteOptions, \n IndependentDriveRouteOptions, \n IndependentTruckRouteOptions, \n IndependentWalkRouteOptions, \n IndependentRideRouteOptions,\n IndependentMotorcycleRouteOptions,\n IndependentRouteResult,\n SelectIndependentRouteOptions,\n StartNaviWithIndependentPathOptions,\n ClearIndependentRouteOptions\n} from './independent.types';\n\nexport interface ExpoGaodeMapNavigationModule extends NativeModule {\n /**\n * 初始化导航模块\n */\n initNavigation: () => void\n /**\n * 销毁所有路径规划器\n */\n destroyAllCalculators: () => void\n /**\n * 驾车路径规划\n */\n calculateDriveRoute: (options: DriveRouteOptions) => Promise<DriveRouteResult>\n /**\n * 步行路径规划\n */\n calculateWalkRoute: (options: WalkRouteOptions) => Promise<RouteResult>\n /**\n * 骑行路径规划\n */\n calculateRideRoute: (options: RideRouteOptions) => Promise<RouteResult>\n /**\n * 骑行电动车路径规划\n */\n calculateEBikeRoute: (options: EBikeRouteOptions) => Promise<RouteResult>\n /**\n * 货车路径规划\n */\n calculateTruckRoute: (options: TruckRouteOptions) => Promise<DriveRouteResult>\n /**\n * 摩托车路径规划(车类型为 11,支持传入排量)\n */ \n calculateMotorcycleRoute: (options: MotorcycleRouteOptions) => Promise<DriveRouteResult>\n \n /**\n * 独立路径规划(不会影响当前导航;适合路线预览/行前选路)\n */\n independentDriveRoute: (options: IndependentDriveRouteOptions) => Promise<IndependentRouteResult>\n /**\n * 独立货车路径规划(不会影响当前导航;适合路线预览/行前选路)\n */\n independentTruckRoute: (options: IndependentTruckRouteOptions) => Promise<IndependentRouteResult>\n /**\n * 独立步行路径规划(不会影响当前导航;适合路线预览/行前选路)\n */\n independentWalkRoute: (options: IndependentWalkRouteOptions) => Promise<IndependentRouteResult>\n /**\n * 独立骑行路径规划(不会影响当前导航;适合路线预览/行前选路)\n */\n independentRideRoute: (options: IndependentRideRouteOptions) => Promise<IndependentRouteResult>\n /**\n * 独立摩托车路径规划(不会影响当前导航;适合路线预览/行前选路)\n */ \n independentMotorcycleRoute: (options: IndependentMotorcycleRouteOptions) => Promise<IndependentRouteResult>\n \n /**\n * 选择独立路径(会影响当前导航)\n */\n selectIndependentRoute: (options: SelectIndependentRouteOptions) => Promise<boolean>\n /**\n * 启动独立路径导航(会影响当前导航)\n */\n startNaviWithIndependentPath: (options: StartNaviWithIndependentPathOptions) => Promise<boolean>\n /**\n * 清除独立路径(会影响当前导航)\n */\n clearIndependentRoute: (options: ClearIndependentRouteOptions) => Promise<boolean>\n}"]}
1
+ {"version":3,"file":"native-module.types.js","sourceRoot":"","sources":["../../src/types/native-module.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { NativeModule } from 'expo';\nimport { DriveRouteOptions, DriveRouteResult, EBikeRouteOptions, OfficialNaviPageOptions, RideRouteOptions, RouteResult, TruckRouteOptions, WalkRouteOptions } from './route.types';\nimport { \n MotorcycleRouteOptions, \n IndependentDriveRouteOptions, \n IndependentTruckRouteOptions, \n IndependentWalkRouteOptions, \n IndependentRideRouteOptions,\n IndependentMotorcycleRouteOptions,\n IndependentRouteResult,\n SelectIndependentRouteOptions,\n StartNaviWithIndependentPathOptions,\n ClearIndependentRouteOptions\n} from './independent.types';\n\nexport interface ExpoGaodeMapNavigationModule extends NativeModule {\n /**\n * 初始化导航模块\n */\n initNavigation: () => void\n /**\n * 销毁所有路径规划器\n */\n destroyAllCalculators: () => void\n /**\n * 驾车路径规划\n */\n calculateDriveRoute: (options: DriveRouteOptions) => Promise<DriveRouteResult>\n /**\n * 步行路径规划\n */\n calculateWalkRoute: (options: WalkRouteOptions) => Promise<RouteResult>\n /**\n * 骑行路径规划\n */\n calculateRideRoute: (options: RideRouteOptions) => Promise<RouteResult>\n /**\n * 骑行电动车路径规划\n */\n calculateEBikeRoute: (options: EBikeRouteOptions) => Promise<RouteResult>\n /**\n * 货车路径规划\n */\n calculateTruckRoute: (options: TruckRouteOptions) => Promise<DriveRouteResult>\n /**\n * 摩托车路径规划(车类型为 11,支持传入排量)\n */ \n calculateMotorcycleRoute: (options: MotorcycleRouteOptions) => Promise<DriveRouteResult>\n \n /**\n * 独立路径规划(不会影响当前导航;适合路线预览/行前选路)\n */\n independentDriveRoute: (options: IndependentDriveRouteOptions) => Promise<IndependentRouteResult>\n /**\n * 独立货车路径规划(不会影响当前导航;适合路线预览/行前选路)\n */\n independentTruckRoute: (options: IndependentTruckRouteOptions) => Promise<IndependentRouteResult>\n /**\n * 独立步行路径规划(不会影响当前导航;适合路线预览/行前选路)\n */\n independentWalkRoute: (options: IndependentWalkRouteOptions) => Promise<IndependentRouteResult>\n /**\n * 独立骑行路径规划(不会影响当前导航;适合路线预览/行前选路)\n */\n independentRideRoute: (options: IndependentRideRouteOptions) => Promise<IndependentRouteResult>\n /**\n * 独立摩托车路径规划(不会影响当前导航;适合路线预览/行前选路)\n */ \n independentMotorcycleRoute: (options: IndependentMotorcycleRouteOptions) => Promise<IndependentRouteResult>\n \n /**\n * 选择独立路径(会影响当前导航)\n */\n selectIndependentRoute: (options: SelectIndependentRouteOptions) => Promise<boolean>\n /**\n * 启动独立路径导航(会影响当前导航)\n */\n startNaviWithIndependentPath: (options: StartNaviWithIndependentPathOptions) => Promise<boolean>\n /**\n * 打开官方导航页(Android: AmapNaviPage.showRouteActivity)\n */\n openOfficialNaviPage: (options: OfficialNaviPageOptions) => Promise<boolean>\n /**\n * 清除独立路径(会影响当前导航)\n */\n clearIndependentRoute: (options: ClearIndependentRouteOptions) => Promise<boolean>\n}\n"]}