expo-gaode-map 1.0.3 → 1.0.5

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 (70) hide show
  1. package/android/src/main/AndroidManifest.xml +13 -1
  2. package/android/src/main/java/expo/modules/gaodemap/ExpoGaodeMapModule.kt +76 -5
  3. package/android/src/main/java/expo/modules/gaodemap/ExpoGaodeMapView.kt +90 -6
  4. package/android/src/main/java/expo/modules/gaodemap/managers/OverlayManager.kt +87 -0
  5. package/android/src/main/java/expo/modules/gaodemap/modules/LocationManager.kt +25 -0
  6. package/android/src/main/java/expo/modules/gaodemap/overlays/CircleView.kt +16 -0
  7. package/android/src/main/java/expo/modules/gaodemap/overlays/MarkerView.kt +2 -0
  8. package/android/src/main/java/expo/modules/gaodemap/overlays/MultiPointView.kt +1 -1
  9. package/android/src/main/java/expo/modules/gaodemap/overlays/PolygonView.kt +22 -2
  10. package/android/src/main/java/expo/modules/gaodemap/overlays/PolylineView.kt +83 -17
  11. package/android/src/main/java/expo/modules/gaodemap/services/LocationForegroundService.kt +78 -0
  12. package/build/ExpoGaodeMapModule.d.ts +33 -0
  13. package/build/ExpoGaodeMapModule.d.ts.map +1 -1
  14. package/build/ExpoGaodeMapModule.js +0 -1
  15. package/build/ExpoGaodeMapModule.js.map +1 -1
  16. package/build/ExpoGaodeMapView.d.ts +6 -15
  17. package/build/ExpoGaodeMapView.d.ts.map +1 -1
  18. package/build/ExpoGaodeMapView.js +40 -55
  19. package/build/ExpoGaodeMapView.js.map +1 -1
  20. package/build/components/overlays/Circle.d.ts.map +1 -1
  21. package/build/components/overlays/Circle.js +7 -0
  22. package/build/components/overlays/Circle.js.map +1 -1
  23. package/build/components/overlays/Marker.js +10 -0
  24. package/build/components/overlays/Marker.js.map +1 -1
  25. package/build/components/overlays/Polygon.d.ts +1 -0
  26. package/build/components/overlays/Polygon.d.ts.map +1 -1
  27. package/build/components/overlays/Polygon.js +22 -3
  28. package/build/components/overlays/Polygon.js.map +1 -1
  29. package/build/components/overlays/Polyline.d.ts +1 -0
  30. package/build/components/overlays/Polyline.d.ts.map +1 -1
  31. package/build/components/overlays/Polyline.js +25 -3
  32. package/build/components/overlays/Polyline.js.map +1 -1
  33. package/build/modules/AMapLocation.d.ts +2 -19
  34. package/build/modules/AMapLocation.d.ts.map +1 -1
  35. package/build/modules/AMapLocation.js +36 -73
  36. package/build/modules/AMapLocation.js.map +1 -1
  37. package/build/types/location.types.d.ts +0 -1
  38. package/build/types/location.types.d.ts.map +1 -1
  39. package/build/types/location.types.js.map +1 -1
  40. package/build/types/map-view.types.d.ts +12 -0
  41. package/build/types/map-view.types.d.ts.map +1 -1
  42. package/build/types/map-view.types.js.map +1 -1
  43. package/build/types/overlays.types.d.ts +6 -0
  44. package/build/types/overlays.types.d.ts.map +1 -1
  45. package/build/types/overlays.types.js.map +1 -1
  46. package/build/utils/EventManager.d.ts +11 -0
  47. package/build/utils/EventManager.d.ts.map +1 -0
  48. package/build/utils/EventManager.js +21 -0
  49. package/build/utils/EventManager.js.map +1 -0
  50. package/docs/API.md +91 -7
  51. package/docs/INITIALIZATION.md +14 -4
  52. package/ios/ExpoGaodeMapModule.swift +91 -5
  53. package/ios/ExpoGaodeMapView.swift +157 -11
  54. package/ios/managers/OverlayManager.swift +116 -8
  55. package/ios/modules/LocationManager.swift +5 -2
  56. package/ios/overlays/PolygonView.swift +2 -0
  57. package/ios/overlays/PolylineView.swift +14 -0
  58. package/ios/utils/PermissionManager.swift +62 -7
  59. package/package.json +1 -1
  60. package/src/ExpoGaodeMapModule.ts +39 -5
  61. package/src/ExpoGaodeMapView.tsx +53 -84
  62. package/src/components/overlays/Circle.tsx +8 -0
  63. package/src/components/overlays/Marker.tsx +11 -0
  64. package/src/components/overlays/Polygon.tsx +24 -3
  65. package/src/components/overlays/Polyline.tsx +27 -3
  66. package/src/modules/AMapLocation.ts +38 -73
  67. package/src/types/location.types.ts +0 -1
  68. package/src/types/map-view.types.ts +10 -0
  69. package/src/types/overlays.types.ts +6 -0
  70. package/src/utils/EventManager.ts +23 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Marker.js","sourceRoot":"","sources":["../../../src/components/overlays/Marker.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { Image } from 'react-native';\nimport { MapContext, MarkerEventContext } from '../../ExpoGaodeMapView';\nimport type { MarkerProps } from '../../types';\n\nexport default function Marker(props: MarkerProps) {\n return <MarkerImperative {...props} />;\n}\n\nfunction MarkerImperative(props: MarkerProps) {\n const mapRef = React.useContext(MapContext);\n const eventManager = React.useContext(MarkerEventContext);\n const markerIdRef = React.useRef<string | null>(null);\n const propsRef = React.useRef(props);\n \n React.useEffect(() => {\n propsRef.current = props;\n }, [props]);\n \n React.useEffect(() => {\n const checkAndAdd = () => {\n if (!mapRef?.current) {\n setTimeout(checkAndAdd, 50);\n return;\n }\n \n const markerId = `marker_${Date.now()}_${Math.random()}`;\n markerIdRef.current = markerId;\n \n if (eventManager) {\n eventManager.register(markerId, {\n onPress: props.onPress,\n onDragStart: props.onDragStart,\n onDrag: props.onDrag,\n onDragEnd: props.onDragEnd,\n });\n }\n \n const processedProps = { ...propsRef.current };\n if (processedProps.icon && typeof processedProps.icon === 'number') {\n const resolved = Image.resolveAssetSource(processedProps.icon);\n processedProps.icon = resolved;\n }\n \n mapRef.current.addMarker(markerId, processedProps);\n };\n \n checkAndAdd();\n \n return () => {\n if (markerIdRef.current) {\n if (eventManager) {\n eventManager.unregister(markerIdRef.current);\n }\n if (mapRef?.current) {\n mapRef.current.removeMarker(markerIdRef.current);\n }\n }\n };\n }, []);\n\n React.useEffect(() => {\n if (markerIdRef.current && mapRef?.current) {\n const processedProps = { ...props };\n if (processedProps.icon && typeof processedProps.icon === 'number') {\n const resolved = Image.resolveAssetSource(processedProps.icon);\n processedProps.icon = resolved;\n }\n mapRef.current.updateMarker(markerIdRef.current, processedProps);\n }\n }, [\n props.position?.latitude,\n props.position?.longitude,\n props.title,\n props.draggable,\n props.icon,\n props.iconWidth,\n props.iconHeight,\n props.pinColor\n ]);\n \n return null;\n}\n"]}
1
+ {"version":3,"file":"Marker.js","sourceRoot":"","sources":["../../../src/components/overlays/Marker.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { Image } from 'react-native';\nimport { MapContext, MarkerEventContext } from '../../ExpoGaodeMapView';\nimport type { MarkerProps } from '../../types';\n\nexport default function Marker(props: MarkerProps) {\n return <MarkerImperative {...props} />;\n}\n\nfunction MarkerImperative(props: MarkerProps) {\n const mapRef = React.useContext(MapContext);\n const eventManager = React.useContext(MarkerEventContext);\n const markerIdRef = React.useRef<string | null>(null);\n const propsRef = React.useRef(props);\n \n React.useEffect(() => {\n propsRef.current = props;\n }, [props]);\n \n React.useEffect(() => {\n const checkAndAdd = () => {\n if (!mapRef?.current) {\n setTimeout(checkAndAdd, 50);\n return;\n }\n \n const markerId = `marker_${Date.now()}_${Math.random()}`;\n markerIdRef.current = markerId;\n \n if (eventManager) {\n eventManager.register(markerId, {\n onPress: props.onPress,\n onDragStart: props.onDragStart,\n onDrag: props.onDrag,\n onDragEnd: props.onDragEnd,\n });\n }\n \n const processedProps = { ...propsRef.current };\n if (processedProps.icon && typeof processedProps.icon === 'number') {\n const resolved = Image.resolveAssetSource(processedProps.icon);\n processedProps.icon = resolved;\n }\n \n mapRef.current.addMarker(markerId, processedProps);\n };\n \n checkAndAdd();\n \n return () => {\n if (markerIdRef.current) {\n if (eventManager) {\n eventManager.unregister(markerIdRef.current);\n }\n if (mapRef?.current) {\n mapRef.current.removeMarker(markerIdRef.current);\n }\n }\n };\n }, []);\n\n React.useEffect(() => {\n if (markerIdRef.current && eventManager) {\n eventManager.register(markerIdRef.current, {\n onPress: props.onPress,\n onDragStart: props.onDragStart,\n onDrag: props.onDrag,\n onDragEnd: props.onDragEnd,\n });\n }\n }, [props.onPress, props.onDragStart, props.onDrag, props.onDragEnd]);\n\n React.useEffect(() => {\n if (markerIdRef.current && mapRef?.current) {\n const processedProps = { ...props };\n if (processedProps.icon && typeof processedProps.icon === 'number') {\n const resolved = Image.resolveAssetSource(processedProps.icon);\n processedProps.icon = resolved;\n }\n mapRef.current.updateMarker(markerIdRef.current, processedProps);\n }\n }, [\n props.position?.latitude,\n props.position?.longitude,\n props.title,\n props.draggable,\n props.icon,\n props.iconWidth,\n props.iconHeight,\n props.pinColor\n ]);\n \n return null;\n}\n"]}
@@ -8,6 +8,7 @@ import type { PolygonProps } from '../../types';
8
8
  * @param props.strokeColor - 多边形边框颜色,默认-16776961
9
9
  * @param props.strokeWidth - 多边形边框宽度,默认10
10
10
  * @param props.zIndex - 多边形层级,默认0
11
+ * @param props.onPress - 多边形点击事件
11
12
  *
12
13
  * @remarks
13
14
  * 组件内部会自动生成唯一ID用于标识多边形,并在组件挂载时添加到地图,
@@ -1 +1 @@
1
- {"version":3,"file":"Polygon.d.ts","sourceRoot":"","sources":["../../../src/components/overlays/Polygon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,KAAK,EAAE,YAAY,QAuDlD"}
1
+ {"version":3,"file":"Polygon.d.ts","sourceRoot":"","sources":["../../../src/components/overlays/Polygon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,KAAK,EAAE,YAAY,QA2ElD"}
@@ -1,5 +1,5 @@
1
1
  import { useContext, useEffect, useRef } from 'react';
2
- import { MapContext } from '../../ExpoGaodeMapView';
2
+ import { MapContext, PolygonEventContext } from '../../ExpoGaodeMapView';
3
3
  /**
4
4
  * 高德地图多边形覆盖物组件
5
5
  *
@@ -9,6 +9,7 @@ import { MapContext } from '../../ExpoGaodeMapView';
9
9
  * @param props.strokeColor - 多边形边框颜色,默认-16776961
10
10
  * @param props.strokeWidth - 多边形边框宽度,默认10
11
11
  * @param props.zIndex - 多边形层级,默认0
12
+ * @param props.onPress - 多边形点击事件
12
13
  *
13
14
  * @remarks
14
15
  * 组件内部会自动生成唯一ID用于标识多边形,并在组件挂载时添加到地图,
@@ -19,6 +20,7 @@ import { MapContext } from '../../ExpoGaodeMapView';
19
20
  export default function Polygon(props) {
20
21
  const { points, fillColor, strokeColor, strokeWidth, zIndex } = props;
21
22
  const nativeRef = useContext(MapContext);
23
+ const eventManager = useContext(PolygonEventContext);
22
24
  const polygonIdRef = useRef(null);
23
25
  const propsRef = useRef(props);
24
26
  useEffect(() => {
@@ -32,6 +34,11 @@ export default function Polygon(props) {
32
34
  }
33
35
  const polygonId = `polygon_${Date.now()}_${Math.random()}`;
34
36
  polygonIdRef.current = polygonId;
37
+ if (eventManager && props.onPress) {
38
+ eventManager.register(polygonId, {
39
+ onPress: props.onPress,
40
+ });
41
+ }
35
42
  const { points, fillColor, strokeColor, strokeWidth, zIndex } = propsRef.current;
36
43
  if (points && points.length >= 3) {
37
44
  nativeRef.current.addPolygon(polygonId, {
@@ -45,11 +52,23 @@ export default function Polygon(props) {
45
52
  };
46
53
  checkAndAdd();
47
54
  return () => {
48
- if (polygonIdRef.current && nativeRef?.current) {
49
- nativeRef.current.removePolygon(polygonIdRef.current);
55
+ if (polygonIdRef.current) {
56
+ if (eventManager) {
57
+ eventManager.unregister(polygonIdRef.current);
58
+ }
59
+ if (nativeRef?.current) {
60
+ nativeRef.current.removePolygon(polygonIdRef.current);
61
+ }
50
62
  }
51
63
  };
52
64
  }, []);
65
+ useEffect(() => {
66
+ if (polygonIdRef.current && eventManager) {
67
+ eventManager.register(polygonIdRef.current, {
68
+ onPress: props.onPress,
69
+ });
70
+ }
71
+ }, [props.onPress]);
53
72
  useEffect(() => {
54
73
  if (polygonIdRef.current && nativeRef?.current) {
55
74
  nativeRef.current.updatePolygon(polygonIdRef.current, {
@@ -1 +1 @@
1
- {"version":3,"file":"Polygon.js","sourceRoot":"","sources":["../../../src/components/overlays/Polygon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,KAAmB;IACjD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACtE,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;IAC3B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;gBACxB,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBAC5B,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,WAAW,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3D,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;YAEjC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;YAEjF,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACjC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE;oBACtC,MAAM;oBACN,SAAS,EAAE,SAAS,IAAI,WAAW;oBACnC,WAAW,EAAE,WAAW,IAAI,WAAW;oBACvC,WAAW,EAAE,WAAW,IAAI,EAAE;oBAC9B,MAAM,EAAE,MAAM,IAAI,CAAC;iBACpB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,WAAW,EAAE,CAAC;QAEd,OAAO,GAAG,EAAE;YACV,IAAI,YAAY,CAAC,OAAO,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;gBAC/C,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACxD,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,CAAC,OAAO,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;YAC/C,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE;gBACpD,MAAM;gBACN,SAAS;gBACT,WAAW;gBACX,WAAW;gBACX,MAAM;aACP,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAE1D,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import { useContext, useEffect, useRef } from 'react';\nimport type { PolygonProps } from '../../types';\nimport { MapContext } from '../../ExpoGaodeMapView';\n\n\n/**\n * 高德地图多边形覆盖物组件\n * \n * @param props - 多边形配置属性\n * @param props.points - 多边形顶点坐标数组,至少需要3个点\n * @param props.fillColor - 多边形填充颜色,十六进制格式,默认0x440000FF\n * @param props.strokeColor - 多边形边框颜色,默认-16776961\n * @param props.strokeWidth - 多边形边框宽度,默认10\n * @param props.zIndex - 多边形层级,默认0\n * \n * @remarks\n * 组件内部会自动生成唯一ID用于标识多边形,并在组件挂载时添加到地图,\n * 更新时同步修改多边形属性,卸载时自动移除多边形。\n * \n * 注意:points数组长度必须大于等于3才能有效绘制多边形。\n */\nexport default function Polygon(props: PolygonProps) {\n const { points, fillColor, strokeColor, strokeWidth, zIndex } = props;\n const nativeRef = useContext(MapContext);\n const polygonIdRef = useRef<string | null>(null);\n const propsRef = useRef(props);\n \n useEffect(() => {\n propsRef.current = props;\n }, [props]);\n\n useEffect(() => {\n const checkAndAdd = () => {\n if (!nativeRef?.current) {\n setTimeout(checkAndAdd, 50);\n return;\n }\n \n const polygonId = `polygon_${Date.now()}_${Math.random()}`;\n polygonIdRef.current = polygonId;\n \n const { points, fillColor, strokeColor, strokeWidth, zIndex } = propsRef.current;\n \n if (points && points.length >= 3) {\n nativeRef.current.addPolygon(polygonId, {\n points,\n fillColor: fillColor ?? '#880000FF',\n strokeColor: strokeColor ?? '#FFFF0000',\n strokeWidth: strokeWidth ?? 10,\n zIndex: zIndex ?? 0,\n });\n }\n };\n \n checkAndAdd();\n \n return () => {\n if (polygonIdRef.current && nativeRef?.current) {\n nativeRef.current.removePolygon(polygonIdRef.current);\n }\n };\n }, []);\n\n useEffect(() => {\n if (polygonIdRef.current && nativeRef?.current) {\n nativeRef.current.updatePolygon(polygonIdRef.current, {\n points,\n fillColor,\n strokeColor,\n strokeWidth,\n zIndex,\n });\n }\n }, [points, fillColor, strokeColor, strokeWidth, zIndex]);\n\n return null;\n}\n"]}
1
+ {"version":3,"file":"Polygon.js","sourceRoot":"","sources":["../../../src/components/overlays/Polygon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAGzE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,KAAmB;IACjD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACtE,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;IAC3B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;gBACxB,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBAC5B,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,WAAW,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3D,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;YAEjC,IAAI,YAAY,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClC,YAAY,CAAC,QAAQ,CAAC,SAAS,EAAE;oBAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;YAEjF,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACjC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE;oBACtC,MAAM;oBACN,SAAS,EAAE,SAAS,IAAI,WAAW;oBACnC,WAAW,EAAE,WAAW,IAAI,WAAW;oBACvC,WAAW,EAAE,WAAW,IAAI,EAAE;oBAC9B,MAAM,EAAE,MAAM,IAAI,CAAC;iBACpB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,WAAW,EAAE,CAAC;QAEd,OAAO,GAAG,EAAE;YACV,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBACzB,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAChD,CAAC;gBACD,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;oBACvB,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,CAAC,OAAO,IAAI,YAAY,EAAE,CAAC;YACzC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE;gBAC1C,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,CAAC,OAAO,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;YAC/C,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE;gBACpD,MAAM;gBACN,SAAS;gBACT,WAAW;gBACX,WAAW;gBACX,MAAM;aACP,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAE1D,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import { useContext, useEffect, useRef } from 'react';\nimport type { PolygonProps } from '../../types';\nimport { MapContext, PolygonEventContext } from '../../ExpoGaodeMapView';\n\n\n/**\n * 高德地图多边形覆盖物组件\n * \n * @param props - 多边形配置属性\n * @param props.points - 多边形顶点坐标数组,至少需要3个点\n * @param props.fillColor - 多边形填充颜色,十六进制格式,默认0x440000FF\n * @param props.strokeColor - 多边形边框颜色,默认-16776961\n * @param props.strokeWidth - 多边形边框宽度,默认10\n * @param props.zIndex - 多边形层级,默认0\n * @param props.onPress - 多边形点击事件\n * \n * @remarks\n * 组件内部会自动生成唯一ID用于标识多边形,并在组件挂载时添加到地图,\n * 更新时同步修改多边形属性,卸载时自动移除多边形。\n * \n * 注意:points数组长度必须大于等于3才能有效绘制多边形。\n */\nexport default function Polygon(props: PolygonProps) {\n const { points, fillColor, strokeColor, strokeWidth, zIndex } = props;\n const nativeRef = useContext(MapContext);\n const eventManager = useContext(PolygonEventContext);\n const polygonIdRef = useRef<string | null>(null);\n const propsRef = useRef(props);\n \n useEffect(() => {\n propsRef.current = props;\n }, [props]);\n\n useEffect(() => {\n const checkAndAdd = () => {\n if (!nativeRef?.current) {\n setTimeout(checkAndAdd, 50);\n return;\n }\n \n const polygonId = `polygon_${Date.now()}_${Math.random()}`;\n polygonIdRef.current = polygonId;\n \n if (eventManager && props.onPress) {\n eventManager.register(polygonId, {\n onPress: props.onPress,\n });\n }\n \n const { points, fillColor, strokeColor, strokeWidth, zIndex } = propsRef.current;\n \n if (points && points.length >= 3) {\n nativeRef.current.addPolygon(polygonId, {\n points,\n fillColor: fillColor ?? '#880000FF',\n strokeColor: strokeColor ?? '#FFFF0000',\n strokeWidth: strokeWidth ?? 10,\n zIndex: zIndex ?? 0,\n });\n }\n };\n \n checkAndAdd();\n \n return () => {\n if (polygonIdRef.current) {\n if (eventManager) {\n eventManager.unregister(polygonIdRef.current);\n }\n if (nativeRef?.current) {\n nativeRef.current.removePolygon(polygonIdRef.current);\n }\n }\n };\n }, []);\n\n useEffect(() => {\n if (polygonIdRef.current && eventManager) {\n eventManager.register(polygonIdRef.current, {\n onPress: props.onPress,\n });\n }\n }, [props.onPress]);\n\n useEffect(() => {\n if (polygonIdRef.current && nativeRef?.current) {\n nativeRef.current.updatePolygon(polygonIdRef.current, {\n points,\n fillColor,\n strokeColor,\n strokeWidth,\n zIndex,\n });\n }\n }, [points, fillColor, strokeColor, strokeWidth, zIndex]);\n\n return null;\n}\n"]}
@@ -6,6 +6,7 @@ import type { PolylineProps } from '../../types';
6
6
  * @param props.points - 折线的坐标点数组
7
7
  * @param props.width - 折线的宽度(像素)
8
8
  * @param props.color - 折线的颜色(十六进制或RGBA)
9
+ * @param props.onPress - 折线点击事件回调函数
9
10
  * @param [props.texture] - 可选,折线的纹理样式
10
11
  *
11
12
  * @remarks
@@ -1 +1 @@
1
- {"version":3,"file":"Polyline.d.ts","sourceRoot":"","sources":["../../../src/components/overlays/Polyline.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,aAAa,QAuCpD"}
1
+ {"version":3,"file":"Polyline.d.ts","sourceRoot":"","sources":["../../../src/components/overlays/Polyline.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,aAAa,QA8DpD"}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { MapContext } from '../../ExpoGaodeMapView';
2
+ import { MapContext, PolylineEventContext } from '../../ExpoGaodeMapView';
3
3
  /**
4
4
  * Polyline 组件用于在高德地图上绘制折线
5
5
  *
@@ -7,6 +7,7 @@ import { MapContext } from '../../ExpoGaodeMapView';
7
7
  * @param props.points - 折线的坐标点数组
8
8
  * @param props.width - 折线的宽度(像素)
9
9
  * @param props.color - 折线的颜色(十六进制或RGBA)
10
+ * @param props.onPress - 折线点击事件回调函数
10
11
  * @param [props.texture] - 可选,折线的纹理样式
11
12
  *
12
13
  * @remarks
@@ -17,6 +18,7 @@ import { MapContext } from '../../ExpoGaodeMapView';
17
18
  */
18
19
  export default function Polyline(props) {
19
20
  const mapRef = React.useContext(MapContext);
21
+ const eventManager = React.useContext(PolylineEventContext);
20
22
  const polylineIdRef = React.useRef(null);
21
23
  const propsRef = React.useRef(props);
22
24
  React.useEffect(() => {
@@ -30,21 +32,41 @@ export default function Polyline(props) {
30
32
  }
31
33
  const polylineId = `polyline_${Date.now()}_${Math.random()}`;
32
34
  polylineIdRef.current = polylineId;
35
+ if (eventManager && props.onPress) {
36
+ eventManager.register(polylineId, {
37
+ onPress: props.onPress,
38
+ });
39
+ }
33
40
  const polylineProps = {
34
41
  points: propsRef.current.points,
35
42
  width: propsRef.current.width,
36
43
  color: propsRef.current.color,
37
44
  ...(propsRef.current.texture && { texture: propsRef.current.texture }),
45
+ ...(propsRef.current.dotted !== undefined && { dotted: propsRef.current.dotted }),
46
+ ...(propsRef.current.geodesic !== undefined && { geodesic: propsRef.current.geodesic }),
47
+ ...(propsRef.current.zIndex !== undefined && { zIndex: propsRef.current.zIndex }),
38
48
  };
39
49
  mapRef.current.addPolyline(polylineId, polylineProps);
40
50
  };
41
51
  checkAndAdd();
42
52
  return () => {
43
- if (polylineIdRef.current && mapRef?.current) {
44
- mapRef.current.removePolyline(polylineIdRef.current);
53
+ if (polylineIdRef.current) {
54
+ if (eventManager) {
55
+ eventManager.unregister(polylineIdRef.current);
56
+ }
57
+ if (mapRef?.current) {
58
+ mapRef.current.removePolyline(polylineIdRef.current);
59
+ }
45
60
  }
46
61
  };
47
62
  }, []);
63
+ React.useEffect(() => {
64
+ if (polylineIdRef.current && eventManager) {
65
+ eventManager.register(polylineIdRef.current, {
66
+ onPress: props.onPress,
67
+ });
68
+ }
69
+ }, [props.onPress]);
48
70
  return null;
49
71
  }
50
72
  //# sourceMappingURL=Polyline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Polyline.js","sourceRoot":"","sources":["../../../src/components/overlays/Polyline.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAoB;IACnD,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAErC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;IAC3B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBACrB,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBAC5B,OAAO;YACT,CAAC;YAED,MAAM,UAAU,GAAG,YAAY,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7D,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;YAEnC,MAAM,aAAa,GAAG;gBACpB,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;gBAC/B,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK;gBAC7B,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK;gBAC7B,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;aACvE,CAAC;YAEF,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QACxD,CAAC,CAAC;QAEF,WAAW,EAAE,CAAC;QAEd,OAAO,GAAG,EAAE;YACV,IAAI,aAAa,CAAC,OAAO,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBAC7C,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["\nimport * as React from 'react';\nimport { MapContext } from '../../ExpoGaodeMapView';\nimport type { PolylineProps } from '../../types';\n\n\n/**\n * Polyline 组件用于在高德地图上绘制折线\n * \n * @param props - 折线的配置属性\n * @param props.points - 折线的坐标点数组\n * @param props.width - 折线的宽度(像素)\n * @param props.color - 折线的颜色(十六进制或RGBA)\n * @param [props.texture] - 可选,折线的纹理样式\n * \n * @remarks\n * 组件内部使用 React 的 useEffect 钩子来管理折线的生命周期:\n * 1. 组件挂载时创建折线并添加到地图\n * 2. 组件卸载时自动从地图移除折线\n * 3. 使用 ref 保存折线ID以便清理\n */\nexport default function Polyline(props: PolylineProps) {\n const mapRef = React.useContext(MapContext);\n const polylineIdRef = React.useRef<string | null>(null);\n const propsRef = React.useRef(props);\n \n React.useEffect(() => {\n propsRef.current = props;\n }, [props]);\n \n React.useEffect(() => {\n const checkAndAdd = () => {\n if (!mapRef?.current) {\n setTimeout(checkAndAdd, 50);\n return;\n }\n \n const polylineId = `polyline_${Date.now()}_${Math.random()}`;\n polylineIdRef.current = polylineId;\n \n const polylineProps = {\n points: propsRef.current.points,\n width: propsRef.current.width,\n color: propsRef.current.color,\n ...(propsRef.current.texture && { texture: propsRef.current.texture }),\n };\n \n mapRef.current.addPolyline(polylineId, polylineProps);\n };\n \n checkAndAdd();\n \n return () => {\n if (polylineIdRef.current && mapRef?.current) {\n mapRef.current.removePolyline(polylineIdRef.current);\n }\n };\n }, []);\n\n return null;\n}\n"]}
1
+ {"version":3,"file":"Polyline.js","sourceRoot":"","sources":["../../../src/components/overlays/Polyline.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport * as React from 'react';\nimport { MapContext, PolylineEventContext } from '../../ExpoGaodeMapView';\nimport type { PolylineProps } from '../../types';\n\n\n/**\n * Polyline 组件用于在高德地图上绘制折线\n * \n * @param props - 折线的配置属性\n * @param props.points - 折线的坐标点数组\n * @param props.width - 折线的宽度(像素)\n * @param props.color - 折线的颜色(十六进制或RGBA)\n * @param props.onPress - 折线点击事件回调函数\n * @param [props.texture] - 可选,折线的纹理样式\n * \n * @remarks\n * 组件内部使用 React 的 useEffect 钩子来管理折线的生命周期:\n * 1. 组件挂载时创建折线并添加到地图\n * 2. 组件卸载时自动从地图移除折线\n * 3. 使用 ref 保存折线ID以便清理\n */\nexport default function Polyline(props: PolylineProps) {\n const mapRef = React.useContext(MapContext);\n const eventManager = React.useContext(PolylineEventContext);\n const polylineIdRef = React.useRef<string | null>(null);\n const propsRef = React.useRef(props);\n \n React.useEffect(() => {\n propsRef.current = props;\n }, [props]);\n \n React.useEffect(() => {\n const checkAndAdd = () => {\n if (!mapRef?.current) {\n setTimeout(checkAndAdd, 50);\n return;\n }\n \n const polylineId = `polyline_${Date.now()}_${Math.random()}`;\n polylineIdRef.current = polylineId;\n \n if (eventManager && props.onPress) {\n eventManager.register(polylineId, {\n onPress: props.onPress,\n });\n }\n \n const polylineProps = {\n points: propsRef.current.points,\n width: propsRef.current.width,\n color: propsRef.current.color,\n ...(propsRef.current.texture && { texture: propsRef.current.texture }),\n ...(propsRef.current.dotted !== undefined && { dotted: propsRef.current.dotted }),\n ...(propsRef.current.geodesic !== undefined && { geodesic: propsRef.current.geodesic }),\n ...(propsRef.current.zIndex !== undefined && { zIndex: propsRef.current.zIndex }),\n };\n \n mapRef.current.addPolyline(polylineId, polylineProps);\n };\n \n checkAndAdd();\n \n return () => {\n if (polylineIdRef.current) {\n if (eventManager) {\n eventManager.unregister(polylineIdRef.current);\n }\n if (mapRef?.current) {\n mapRef.current.removePolyline(polylineIdRef.current);\n }\n }\n };\n }, []);\n\n React.useEffect(() => {\n if (polylineIdRef.current && eventManager) {\n eventManager.register(polylineIdRef.current, {\n onPress: props.onPress,\n });\n }\n }, [props.onPress]);\n\n return null;\n}\n"]}
@@ -1,26 +1,9 @@
1
1
  import { EventSubscription } from 'expo-modules-core';
2
2
  import type { Coordinates, ReGeocode, LocationOptions, LocationListener, LatLng, CoordinateType } from '../types';
3
3
  /**
4
- * 配置高德地图定位服务的各项参数
4
+ * 配置高德地图定位选项
5
5
  * @param {LocationOptions} options - 定位配置选项对象
6
- * @param {boolean} [options.withReGeocode] - 是否返回逆地理编码信息
7
- * @param {number} [options.accuracy] - 定位精度设置
8
- * @param {string} [options.mode] - 定位模式
9
- * @param {boolean} [options.onceLocation] - 是否单次定位
10
- * @param {number} [options.interval] - 定位间隔(毫秒)
11
- * @param {number} [options.timeout] - 定位超时时间(毫秒)
12
- * @param {number} [options.reGeocodeTimeout] - 逆地理编码超时时间(毫秒)
13
- * @param {number} [options.distanceFilter] - 位置更新最小距离(米)
14
- * @param {boolean} [options.sensorEnable] - 是否启用传感器
15
- * @param {boolean} [options.wifiScan] - 是否开启WiFi扫描
16
- * @param {boolean} [options.gpsFirst] - 是否优先使用GPS
17
- * @param {boolean} [options.onceLocationLatest] - 是否获取最近3秒内最精确的位置
18
- * @param {string} [options.geoLanguage] - 地理编码语言
19
- * @param {boolean} [options.allowsBackgroundLocationUpdates] - 是否允许后台定位
20
- * @param {boolean} [options.pausesLocationUpdatesAutomatically] - 是否自动暂停定位
21
- * @param {boolean} [options.locationCacheEnable] - 是否启用定位缓存
22
- * @param {number} [options.httpTimeout] - 网络请求超时时间(毫秒)
23
- * @param {string} [options.protocol] - 定位协议
6
+ * @throws {Error} 当传入的配置方法不存在或不可调用时抛出错误
24
7
  */
25
8
  export declare function configure(options: LocationOptions): void;
26
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AMapLocation.d.ts","sourceRoot":"","sources":["../../src/modules/AMapLocation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,MAAM,EACN,cAAc,EACf,MAAM,UAAU,CAAC;AAElB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAuDxD;AAGD;;;GAGG;AACH,wBAAgB,KAAK,IAAI,IAAI,CAE5B;AAGD;;;GAGG;AACH,wBAAgB,IAAI,IAAI,IAAI,CAE3B;AAGD;;;GAGG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAElD;AAGD;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAE3E;AAGD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,iBAAiB,CAIjF;AAGD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAGD;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAGD;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE3C;;;;;;;;;;;;;AAED,wBAWE"}
1
+ {"version":3,"file":"AMapLocation.d.ts","sourceRoot":"","sources":["../../src/modules/AMapLocation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,MAAM,EACN,cAAc,EACf,MAAM,UAAU,CAAC;AA6BlB;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAUxD;AAGD;;;GAGG;AACH,wBAAgB,KAAK,IAAI,IAAI,CAE5B;AAGD;;;GAGG;AACH,wBAAgB,IAAI,IAAI,IAAI,CAE3B;AAGD;;;GAGG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAElD;AAGD;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAE3E;AAGD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,iBAAiB,CAIjF;AAGD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAGD;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAGD;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE3C;;;;;;;;;;;;;AAED,wBAWE"}
@@ -1,82 +1,45 @@
1
1
  //高德地图定位模块
2
2
  import ExpoGaodeMapModule from '../ExpoGaodeMapModule';
3
3
  /**
4
- * 配置高德地图定位服务的各项参数
4
+ * 配置方法映射表
5
+ * @type {Record<keyof LocationOptions, string>}
6
+ *
7
+ */
8
+ const CONFIG_MAP = {
9
+ withReGeocode: 'setLocatingWithReGeocode',
10
+ accuracy: 'setDesiredAccuracy',
11
+ mode: 'setLocationMode',
12
+ onceLocation: 'setOnceLocation',
13
+ interval: 'setInterval',
14
+ timeout: 'setLocationTimeout',
15
+ reGeocodeTimeout: 'setReGeocodeTimeout',
16
+ distanceFilter: 'setDistanceFilter',
17
+ sensorEnable: 'setSensorEnable',
18
+ wifiScan: 'setWifiScan',
19
+ gpsFirst: 'setGpsFirst',
20
+ onceLocationLatest: 'setOnceLocationLatest',
21
+ geoLanguage: 'setGeoLanguage',
22
+ allowsBackgroundLocationUpdates: 'setAllowsBackgroundLocationUpdates',
23
+ pausesLocationUpdatesAutomatically: 'setPausesLocationUpdatesAutomatically',
24
+ locationCacheEnable: 'setLocationCacheEnable',
25
+ httpTimeout: 'setHttpTimeOut',
26
+ protocol: 'setLocationProtocol',
27
+ };
28
+ /**
29
+ * 配置高德地图定位选项
5
30
  * @param {LocationOptions} options - 定位配置选项对象
6
- * @param {boolean} [options.withReGeocode] - 是否返回逆地理编码信息
7
- * @param {number} [options.accuracy] - 定位精度设置
8
- * @param {string} [options.mode] - 定位模式
9
- * @param {boolean} [options.onceLocation] - 是否单次定位
10
- * @param {number} [options.interval] - 定位间隔(毫秒)
11
- * @param {number} [options.timeout] - 定位超时时间(毫秒)
12
- * @param {number} [options.reGeocodeTimeout] - 逆地理编码超时时间(毫秒)
13
- * @param {number} [options.distanceFilter] - 位置更新最小距离(米)
14
- * @param {boolean} [options.sensorEnable] - 是否启用传感器
15
- * @param {boolean} [options.wifiScan] - 是否开启WiFi扫描
16
- * @param {boolean} [options.gpsFirst] - 是否优先使用GPS
17
- * @param {boolean} [options.onceLocationLatest] - 是否获取最近3秒内最精确的位置
18
- * @param {string} [options.geoLanguage] - 地理编码语言
19
- * @param {boolean} [options.allowsBackgroundLocationUpdates] - 是否允许后台定位
20
- * @param {boolean} [options.pausesLocationUpdatesAutomatically] - 是否自动暂停定位
21
- * @param {boolean} [options.locationCacheEnable] - 是否启用定位缓存
22
- * @param {number} [options.httpTimeout] - 网络请求超时时间(毫秒)
23
- * @param {string} [options.protocol] - 定位协议
31
+ * @throws {Error} 当传入的配置方法不存在或不可调用时抛出错误
24
32
  */
25
33
  export function configure(options) {
26
- if (options.withReGeocode !== undefined) {
27
- ExpoGaodeMapModule.setLocatingWithReGeocode?.(options.withReGeocode);
28
- }
29
- if (options.accuracy !== undefined) {
30
- ExpoGaodeMapModule.setDesiredAccuracy?.(options.accuracy);
31
- }
32
- if (options.mode !== undefined) {
33
- ExpoGaodeMapModule.setLocationMode?.(options.mode);
34
- }
35
- if (options.onceLocation !== undefined) {
36
- ExpoGaodeMapModule.setOnceLocation?.(options.onceLocation);
37
- }
38
- if (options.interval !== undefined) {
39
- ExpoGaodeMapModule.setInterval?.(options.interval);
40
- }
41
- if (options.timeout !== undefined) {
42
- ExpoGaodeMapModule.setLocationTimeout?.(options.timeout);
43
- }
44
- if (options.reGeocodeTimeout !== undefined) {
45
- ExpoGaodeMapModule.setReGeocodeTimeout?.(options.reGeocodeTimeout);
46
- }
47
- if (options.distanceFilter !== undefined) {
48
- ExpoGaodeMapModule.setDistanceFilter?.(options.distanceFilter);
49
- }
50
- if (options.sensorEnable !== undefined) {
51
- ExpoGaodeMapModule.setSensorEnable?.(options.sensorEnable);
52
- }
53
- if (options.wifiScan !== undefined) {
54
- ExpoGaodeMapModule.setWifiScan?.(options.wifiScan);
55
- }
56
- if (options.gpsFirst !== undefined) {
57
- ExpoGaodeMapModule.setGpsFirst?.(options.gpsFirst);
58
- }
59
- if (options.onceLocationLatest !== undefined) {
60
- ExpoGaodeMapModule.setOnceLocationLatest?.(options.onceLocationLatest);
61
- }
62
- if (options.geoLanguage !== undefined) {
63
- ExpoGaodeMapModule.setGeoLanguage?.(options.geoLanguage);
64
- }
65
- if (options.allowsBackgroundLocationUpdates !== undefined) {
66
- ExpoGaodeMapModule.setAllowsBackgroundLocationUpdates?.(options.allowsBackgroundLocationUpdates);
67
- }
68
- if (options.pausesLocationUpdatesAutomatically !== undefined) {
69
- ExpoGaodeMapModule.setPausesLocationUpdatesAutomatically?.(options.pausesLocationUpdatesAutomatically);
70
- }
71
- if (options.locationCacheEnable !== undefined) {
72
- ExpoGaodeMapModule.setLocationCacheEnable?.(options.locationCacheEnable);
73
- }
74
- if (options.httpTimeout !== undefined) {
75
- ExpoGaodeMapModule.setHttpTimeOut?.(options.httpTimeout);
76
- }
77
- if (options.protocol !== undefined) {
78
- ExpoGaodeMapModule.setLocationProtocol?.(options.protocol);
79
- }
34
+ Object.entries(options).forEach(([key, value]) => {
35
+ if (value !== undefined) {
36
+ const methodName = CONFIG_MAP[key];
37
+ const method = ExpoGaodeMapModule[methodName];
38
+ if (typeof method === 'function') {
39
+ method.call(ExpoGaodeMapModule, value);
40
+ }
41
+ }
42
+ });
80
43
  }
81
44
  /**
82
45
  * 启动高德地图模块,开始连续定位
@@ -1 +1 @@
1
- {"version":3,"file":"AMapLocation.js","sourceRoot":"","sources":["../../src/modules/AMapLocation.ts"],"names":[],"mappings":"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","sourcesContent":["//高德地图定位模块\n\nimport { EventSubscription } from 'expo-modules-core';\nimport ExpoGaodeMapModule from '../ExpoGaodeMapModule';\nimport type {\n Coordinates,\n ReGeocode,\n LocationOptions,\n LocationListener,\n LatLng,\n CoordinateType,\n} from '../types';\n\n/**\n * 配置高德地图定位服务的各项参数\n * @param {LocationOptions} options - 定位配置选项对象\n * @param {boolean} [options.withReGeocode] - 是否返回逆地理编码信息\n * @param {number} [options.accuracy] - 定位精度设置\n * @param {string} [options.mode] - 定位模式\n * @param {boolean} [options.onceLocation] - 是否单次定位\n * @param {number} [options.interval] - 定位间隔(毫秒)\n * @param {number} [options.timeout] - 定位超时时间(毫秒)\n * @param {number} [options.reGeocodeTimeout] - 逆地理编码超时时间(毫秒)\n * @param {number} [options.distanceFilter] - 位置更新最小距离(米)\n * @param {boolean} [options.sensorEnable] - 是否启用传感器\n * @param {boolean} [options.wifiScan] - 是否开启WiFi扫描\n * @param {boolean} [options.gpsFirst] - 是否优先使用GPS\n * @param {boolean} [options.onceLocationLatest] - 是否获取最近3秒内最精确的位置\n * @param {string} [options.geoLanguage] - 地理编码语言\n * @param {boolean} [options.allowsBackgroundLocationUpdates] - 是否允许后台定位\n * @param {boolean} [options.pausesLocationUpdatesAutomatically] - 是否自动暂停定位\n * @param {boolean} [options.locationCacheEnable] - 是否启用定位缓存\n * @param {number} [options.httpTimeout] - 网络请求超时时间(毫秒)\n * @param {string} [options.protocol] - 定位协议\n */\nexport function configure(options: LocationOptions): void {\n if (options.withReGeocode !== undefined) {\n ExpoGaodeMapModule.setLocatingWithReGeocode?.(options.withReGeocode);\n }\n if (options.accuracy !== undefined) {\n ExpoGaodeMapModule.setDesiredAccuracy?.(options.accuracy);\n }\n if (options.mode !== undefined) {\n ExpoGaodeMapModule.setLocationMode?.(options.mode);\n }\n if (options.onceLocation !== undefined) {\n ExpoGaodeMapModule.setOnceLocation?.(options.onceLocation);\n }\n if (options.interval !== undefined) {\n ExpoGaodeMapModule.setInterval?.(options.interval);\n }\n if (options.timeout !== undefined) {\n ExpoGaodeMapModule.setLocationTimeout?.(options.timeout);\n }\n if (options.reGeocodeTimeout !== undefined) {\n ExpoGaodeMapModule.setReGeocodeTimeout?.(options.reGeocodeTimeout);\n }\n if (options.distanceFilter !== undefined) {\n ExpoGaodeMapModule.setDistanceFilter?.(options.distanceFilter);\n }\n if (options.sensorEnable !== undefined) {\n ExpoGaodeMapModule.setSensorEnable?.(options.sensorEnable);\n }\n if (options.wifiScan !== undefined) {\n ExpoGaodeMapModule.setWifiScan?.(options.wifiScan);\n }\n if (options.gpsFirst !== undefined) {\n ExpoGaodeMapModule.setGpsFirst?.(options.gpsFirst);\n }\n if (options.onceLocationLatest !== undefined) {\n ExpoGaodeMapModule.setOnceLocationLatest?.(options.onceLocationLatest);\n }\n if (options.geoLanguage !== undefined) {\n ExpoGaodeMapModule.setGeoLanguage?.(options.geoLanguage);\n }\n if (options.allowsBackgroundLocationUpdates !== undefined) {\n ExpoGaodeMapModule.setAllowsBackgroundLocationUpdates?.(options.allowsBackgroundLocationUpdates);\n }\n if (options.pausesLocationUpdatesAutomatically !== undefined) {\n ExpoGaodeMapModule.setPausesLocationUpdatesAutomatically?.(options.pausesLocationUpdatesAutomatically);\n }\n if (options.locationCacheEnable !== undefined) {\n ExpoGaodeMapModule.setLocationCacheEnable?.(options.locationCacheEnable);\n }\n if (options.httpTimeout !== undefined) {\n ExpoGaodeMapModule.setHttpTimeOut?.(options.httpTimeout);\n }\n if (options.protocol !== undefined) {\n ExpoGaodeMapModule.setLocationProtocol?.(options.protocol);\n }\n}\n\n\n/**\n * 启动高德地图模块,开始连续定位\n * @throws 如果模块未初始化或启动失败时抛出异常\n */\nexport function start(): void {\n ExpoGaodeMapModule.start?.();\n}\n\n\n/**\n * 停止高德地图相关功能,停止定位\n * @returns {void} 无返回值\n */\nexport function stop(): void {\n ExpoGaodeMapModule.stop?.();\n}\n\n\n/**\n * 检查高德地图模块是否已启动,是否正在定位\n * @returns {Promise<boolean>} 返回一个Promise,解析为布尔值表示模块是否已启动\n */\nexport async function isStarted(): Promise<boolean> {\n return ExpoGaodeMapModule.isStarted?.() || Promise.resolve(false);\n}\n\n\n/**\n * 获取设备当前位置信息,单次定位\n * @returns {Promise<Coordinates | ReGeocode>} 返回包含坐标或逆地理编码信息的Promise\n * @throws 如果定位服务不可用或权限被拒绝时抛出错误\n */\nexport async function getCurrentLocation(): Promise<Coordinates | ReGeocode> {\n return ExpoGaodeMapModule.getCurrentLocation?.();\n}\n\n\n/**\n * 添加位置更新监听器\n * @param {LocationListener} listener - 位置更新时的回调函数\n * @returns {EventSubscription} 事件订阅对象,包含移除监听器的方法\n * @throws 如果底层模块不可用,返回一个空操作的订阅对象\n */\nexport function addLocationListener(listener: LocationListener): EventSubscription {\n return ExpoGaodeMapModule.addListener?.('onLocationUpdate', listener) || {\n remove: () => {},\n } as EventSubscription;\n}\n\n\n/**\n * 将坐标点转换为指定坐标系下的坐标\n * @param {LatLng} coordinate - 需要转换的原始坐标点\n * @param {CoordinateType} type - 目标坐标系类型\n * @returns {Promise<LatLng>} 转换后的坐标点Promise\n * @throws 如果底层模块不可用,则返回原始坐标\n */\nexport async function coordinateConvert(\n coordinate: LatLng,\n type: CoordinateType\n): Promise<LatLng> {\n return ExpoGaodeMapModule.coordinateConvert?.(coordinate, type) || Promise.resolve(coordinate);\n}\n\n\n/**\n * 开始更新设备方向(罗盘朝向)\n * 调用原生模块方法启动方向更新功能\n * @throws 如果原生模块未实现此方法会抛出异常\n * @platform ios\n */\nexport function startUpdatingHeading(): void {\n ExpoGaodeMapModule.startUpdatingHeading?.();\n}\n\n\n/**\n * 停止更新设备方向(罗盘朝向)\n * 调用原生模块方法停止监听设备方向变化\n * @throws 如果原生模块未实现此方法会抛出异常\n * @platform ios\n */\nexport function stopUpdatingHeading(): void {\n ExpoGaodeMapModule.stopUpdatingHeading?.();\n}\n\n/**\n * 设置高德地图的API密钥\n * @param {string} key - 高德地图的API密钥\n * @returns {void}\n */\nexport function setApiKey(key: string): void {\n ExpoGaodeMapModule.setApiKey?.(key);\n}\n\nexport default {\n configure,\n start,\n stop,\n isStarted,\n getCurrentLocation,\n addLocationListener,\n coordinateConvert,\n startUpdatingHeading,\n stopUpdatingHeading,\n setApiKey,\n};\n"]}
1
+ {"version":3,"file":"AMapLocation.js","sourceRoot":"","sources":["../../src/modules/AMapLocation.ts"],"names":[],"mappings":"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","sourcesContent":["//高德地图定位模块\n\nimport { EventSubscription } from 'expo-modules-core';\nimport ExpoGaodeMapModule from '../ExpoGaodeMapModule';\nimport type {\n Coordinates,\n ReGeocode,\n LocationOptions,\n LocationListener,\n LatLng,\n CoordinateType,\n} from '../types';\n\n\n/**\n * 配置方法映射表\n * @type {Record<keyof LocationOptions, string>}\n * \n */\nconst CONFIG_MAP: Record<keyof LocationOptions, string> = {\n withReGeocode: 'setLocatingWithReGeocode',\n accuracy: 'setDesiredAccuracy',\n mode: 'setLocationMode',\n onceLocation: 'setOnceLocation',\n interval: 'setInterval',\n timeout: 'setLocationTimeout',\n reGeocodeTimeout: 'setReGeocodeTimeout',\n distanceFilter: 'setDistanceFilter',\n sensorEnable: 'setSensorEnable',\n wifiScan: 'setWifiScan',\n gpsFirst: 'setGpsFirst',\n onceLocationLatest: 'setOnceLocationLatest',\n geoLanguage: 'setGeoLanguage',\n allowsBackgroundLocationUpdates: 'setAllowsBackgroundLocationUpdates',\n pausesLocationUpdatesAutomatically: 'setPausesLocationUpdatesAutomatically',\n locationCacheEnable: 'setLocationCacheEnable',\n httpTimeout: 'setHttpTimeOut',\n protocol: 'setLocationProtocol',\n};\n\n/**\n * 配置高德地图定位选项\n * @param {LocationOptions} options - 定位配置选项对象\n * @throws {Error} 当传入的配置方法不存在或不可调用时抛出错误\n */\nexport function configure(options: LocationOptions): void {\n Object.entries(options).forEach(([key, value]) => {\n if (value !== undefined) {\n const methodName = CONFIG_MAP[key as keyof LocationOptions];\n const method = ExpoGaodeMapModule[methodName as keyof typeof ExpoGaodeMapModule];\n if (typeof method === 'function') {\n (method as any).call(ExpoGaodeMapModule, value);\n }\n }\n });\n}\n\n\n/**\n * 启动高德地图模块,开始连续定位\n * @throws 如果模块未初始化或启动失败时抛出异常\n */\nexport function start(): void {\n ExpoGaodeMapModule.start?.();\n}\n\n\n/**\n * 停止高德地图相关功能,停止定位\n * @returns {void} 无返回值\n */\nexport function stop(): void {\n ExpoGaodeMapModule.stop?.();\n}\n\n\n/**\n * 检查高德地图模块是否已启动,是否正在定位\n * @returns {Promise<boolean>} 返回一个Promise,解析为布尔值表示模块是否已启动\n */\nexport async function isStarted(): Promise<boolean> {\n return ExpoGaodeMapModule.isStarted?.() || Promise.resolve(false);\n}\n\n\n/**\n * 获取设备当前位置信息,单次定位\n * @returns {Promise<Coordinates | ReGeocode>} 返回包含坐标或逆地理编码信息的Promise\n * @throws 如果定位服务不可用或权限被拒绝时抛出错误\n */\nexport async function getCurrentLocation(): Promise<Coordinates | ReGeocode> {\n return ExpoGaodeMapModule.getCurrentLocation?.();\n}\n\n\n/**\n * 添加位置更新监听器\n * @param {LocationListener} listener - 位置更新时的回调函数\n * @returns {EventSubscription} 事件订阅对象,包含移除监听器的方法\n * @throws 如果底层模块不可用,返回一个空操作的订阅对象\n */\nexport function addLocationListener(listener: LocationListener): EventSubscription {\n return ExpoGaodeMapModule.addListener?.('onLocationUpdate', listener) || {\n remove: () => {},\n } as EventSubscription;\n}\n\n\n/**\n * 将坐标点转换为指定坐标系下的坐标\n * @param {LatLng} coordinate - 需要转换的原始坐标点\n * @param {CoordinateType} type - 目标坐标系类型\n * @returns {Promise<LatLng>} 转换后的坐标点Promise\n * @throws 如果底层模块不可用,则返回原始坐标\n */\nexport async function coordinateConvert(\n coordinate: LatLng,\n type: CoordinateType\n): Promise<LatLng> {\n return ExpoGaodeMapModule.coordinateConvert?.(coordinate, type) || Promise.resolve(coordinate);\n}\n\n\n/**\n * 开始更新设备方向(罗盘朝向)\n * 调用原生模块方法启动方向更新功能\n * @throws 如果原生模块未实现此方法会抛出异常\n * @platform ios\n */\nexport function startUpdatingHeading(): void {\n ExpoGaodeMapModule.startUpdatingHeading?.();\n}\n\n\n/**\n * 停止更新设备方向(罗盘朝向)\n * 调用原生模块方法停止监听设备方向变化\n * @throws 如果原生模块未实现此方法会抛出异常\n * @platform ios\n */\nexport function stopUpdatingHeading(): void {\n ExpoGaodeMapModule.stopUpdatingHeading?.();\n}\n\n/**\n * 设置高德地图的API密钥\n * @param {string} key - 高德地图的API密钥\n * @returns {void}\n */\nexport function setApiKey(key: string): void {\n ExpoGaodeMapModule.setApiKey?.(key);\n}\n\nexport default {\n configure,\n start,\n stop,\n isStarted,\n getCurrentLocation,\n addLocationListener,\n coordinateConvert,\n startUpdatingHeading,\n stopUpdatingHeading,\n setApiKey,\n};\n"]}
@@ -270,7 +270,6 @@ export interface LocationOptions {
270
270
  geoLanguage?: GeoLanguage;
271
271
  /**
272
272
  * 是否允许后台定位
273
- * @platform ios
274
273
  * @default false
275
274
  */
276
275
  allowsBackgroundLocationUpdates?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"location.types.d.ts","sourceRoot":"","sources":["../../src/types/location.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"location.types.d.ts","sourceRoot":"","sources":["../../src/types/location.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"location.types.js","sourceRoot":"","sources":["../../src/types/location.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsHH;;;GAGG;AACH,MAAM,CAAN,IAAY,gBA8BX;AA9BD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,iFAAqB,CAAA;IAErB;;OAEG;IACH,uDAAQ,CAAA;IAER;;OAEG;IACH,+EAAoB,CAAA;IAEpB;;OAEG;IACH,yEAAiB,CAAA;IAEjB;;OAEG;IACH,iEAAa,CAAA;IAEb;;OAEG;IACH,6EAAmB,CAAA;AACrB,CAAC,EA9BW,gBAAgB,KAAhB,gBAAgB,QA8B3B;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,YAeX;AAfD,WAAY,YAAY;IACtB;;OAEG;IACH,+DAAgB,CAAA;IAEhB;;OAEG;IACH,iEAAiB,CAAA;IAEjB;;OAEG;IACH,iEAAiB,CAAA;AACnB,CAAC,EAfW,YAAY,KAAZ,YAAY,QAevB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,cAwCX;AAxCD,WAAY,cAAc;IACxB;;OAEG;IACH,oDAAS,CAAA;IAET;;OAEG;IACH,qDAAS,CAAA;IAET;;OAEG;IACH,uDAAU,CAAA;IAEV;;OAEG;IACH,uDAAU,CAAA;IAEV;;OAEG;IACH,yDAAW,CAAA;IAEX;;OAEG;IACH,uDAAU,CAAA;IAEV;;OAEG;IACH,uDAAU,CAAA;IAEV;;OAEG;IACH,iDAAO,CAAA;AACT,CAAC,EAxCW,cAAc,KAAd,cAAc,QAwCzB","sourcesContent":["/**\n * 高德地图定位相关类型定义\n * 基于 Expo Modules API\n */\n\nimport type { LatLng } from './common.types';\n\n/**\n * 坐标信息(基础定位)\n */\nexport interface Coordinates extends LatLng {\n /**\n * 海拔高度(米)\n */\n altitude: number;\n\n /**\n * 水平精度(米)\n */\n accuracy: number;\n\n /**\n * 移动方向(度,需要 GPS)\n */\n heading: number;\n\n /**\n * 移动速度(米/秒,需要 GPS)\n */\n speed: number;\n\n /**\n * 时间戳\n */\n timestamp: number;\n\n /**\n * 是否有可用坐标\n * @platform ios\n */\n isAvailableCoordinate?: boolean;\n}\n\n/**\n * 逆地理编码信息\n */\nexport interface ReGeocode extends Coordinates {\n /**\n * 格式化地址\n */\n address: string;\n\n /**\n * 国家\n */\n country: string;\n\n /**\n * 省/直辖市,如 `湖北省`\n */\n province: string;\n\n /**\n * 市,如 `武汉市`\n */\n city: string;\n\n /**\n * 区,如 `武昌区`\n */\n district: string;\n\n /**\n * 城市编码\n */\n cityCode: string;\n\n /**\n * 区域编码\n */\n adCode: string;\n\n /**\n * 街道名称\n */\n street: string;\n\n /**\n * 门牌号\n */\n streetNumber: string;\n\n /**\n * 兴趣点名称\n */\n poiName: string;\n\n /**\n * 所属兴趣点名称\n */\n aoiName: string;\n\n /**\n * 定位信息描述\n * @platform android\n */\n description?: string;\n\n /**\n * 坐标系类型\n * @platform android\n */\n coordType?: 'GCJ02' | 'WGS84';\n\n /**\n * 室内定位建筑物ID\n * @platform android\n */\n buildingId?: string;\n}\n\n/**\n * 定位精度级别\n * @platform ios\n */\nexport enum LocationAccuracy {\n /**\n * 最适合导航\n */\n BestForNavigation = 0,\n\n /**\n * 最高精度(约10米,耗时约10秒)\n */\n Best = 1,\n\n /**\n * 10米精度\n */\n NearestTenMeters = 2,\n\n /**\n * 100米精度(推荐)\n */\n HundredMeters = 3,\n\n /**\n * 1公里精度\n */\n Kilometer = 4,\n\n /**\n * 3公里精度\n */\n ThreeKilometers = 5,\n}\n\n/**\n * 定位模式\n * @platform android\n */\nexport enum LocationMode {\n /**\n * 高精度模式(网络+卫星)\n */\n HighAccuracy = 1,\n\n /**\n * 低功耗模式(仅网络)\n */\n BatterySaving = 2,\n\n /**\n * 仅设备模式(仅卫星)\n */\n DeviceSensors = 3,\n}\n\n/**\n * 坐标系类型\n */\nexport enum CoordinateType {\n /**\n * 高德坐标系\n */\n AMap = -1,\n\n /**\n * 百度坐标系\n */\n Baidu = 0,\n\n /**\n * MapBar坐标系\n */\n MapBar = 1,\n\n /**\n * MapABC坐标系\n */\n MapABC = 2,\n\n /**\n * 搜搜地图坐标系\n */\n SoSoMap = 3,\n\n /**\n * 阿里云坐标系\n */\n AliYun = 4,\n\n /**\n * 谷歌坐标系\n */\n Google = 5,\n\n /**\n * GPS坐标系\n */\n GPS = 6,\n}\n\n/**\n * 地理语言\n */\nexport type GeoLanguage = 'DEFAULT' | 'EN' | 'ZH';\n\n/**\n * 网络协议\n * @platform android\n */\nexport type LocationProtocol = 'HTTP' | 'HTTPS';\n\n/**\n * 定位配置选项\n */\nexport interface LocationOptions {\n /**\n * 是否返回逆地理信息\n * @default true\n */\n withReGeocode?: boolean;\n\n /**\n * 定位精度\n * @platform ios\n */\n accuracy?: LocationAccuracy;\n\n /**\n * 定位模式\n * @platform android\n */\n mode?: LocationMode;\n\n /**\n * 是否单次定位\n * @platform android\n * @default false\n */\n onceLocation?: boolean;\n\n /**\n * 定位间隔(毫秒)\n * @platform android\n * @default 2000\n */\n interval?: number;\n\n /**\n * 定位超时时间(秒)\n * @platform ios\n * @default 10\n */\n timeout?: number;\n\n /**\n * 逆地理编码超时时间(秒)\n * @platform ios\n * @default 2\n */\n reGeocodeTimeout?: number;\n\n /**\n * 最小更新距离(米)\n * @platform ios\n */\n distanceFilter?: number;\n\n /**\n * 是否启用设备传感器\n * @platform android\n * @default false\n */\n sensorEnable?: boolean;\n\n /**\n * 是否允许WIFI刷新\n * @platform android\n * @default true\n */\n wifiScan?: boolean;\n\n /**\n * 是否GPS优先\n * @platform android\n * @default false\n */\n gpsFirst?: boolean;\n\n /**\n * 是否等待WIFI列表刷新\n * 定位精度会更高,但是定位速度会变慢1-3秒\n * @platform android\n * @default false\n */\n onceLocationLatest?: boolean;\n\n /**\n * 逆地理语言\n */\n geoLanguage?: GeoLanguage;\n\n /**\n * 是否允许后台定位\n * @platform ios\n * @default false\n */\n allowsBackgroundLocationUpdates?: boolean;\n\n /**\n * 是否自动暂停定位\n * @platform ios\n * @default false\n */\n pausesLocationUpdatesAutomatically?: boolean;\n\n /**\n * 是否使用缓存策略\n * @platform android\n * @default true\n */\n locationCacheEnable?: boolean;\n\n /**\n * 网络请求超时时间(毫秒)\n * @platform android\n * @default 30000\n */\n httpTimeout?: number;\n\n /**\n * 网络协议\n * @platform android\n * @default 'HTTP'\n */\n protocol?: LocationProtocol;\n}\n\n/**\n * 定位事件监听器\n */\nexport type LocationListener = (location: Coordinates | ReGeocode) => void;\n"]}
1
+ {"version":3,"file":"location.types.js","sourceRoot":"","sources":["../../src/types/location.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsHH;;;GAGG;AACH,MAAM,CAAN,IAAY,gBA8BX;AA9BD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,iFAAqB,CAAA;IAErB;;OAEG;IACH,uDAAQ,CAAA;IAER;;OAEG;IACH,+EAAoB,CAAA;IAEpB;;OAEG;IACH,yEAAiB,CAAA;IAEjB;;OAEG;IACH,iEAAa,CAAA;IAEb;;OAEG;IACH,6EAAmB,CAAA;AACrB,CAAC,EA9BW,gBAAgB,KAAhB,gBAAgB,QA8B3B;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,YAeX;AAfD,WAAY,YAAY;IACtB;;OAEG;IACH,+DAAgB,CAAA;IAEhB;;OAEG;IACH,iEAAiB,CAAA;IAEjB;;OAEG;IACH,iEAAiB,CAAA;AACnB,CAAC,EAfW,YAAY,KAAZ,YAAY,QAevB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,cAwCX;AAxCD,WAAY,cAAc;IACxB;;OAEG;IACH,oDAAS,CAAA;IAET;;OAEG;IACH,qDAAS,CAAA;IAET;;OAEG;IACH,uDAAU,CAAA;IAEV;;OAEG;IACH,uDAAU,CAAA;IAEV;;OAEG;IACH,yDAAW,CAAA;IAEX;;OAEG;IACH,uDAAU,CAAA;IAEV;;OAEG;IACH,uDAAU,CAAA;IAEV;;OAEG;IACH,iDAAO,CAAA;AACT,CAAC,EAxCW,cAAc,KAAd,cAAc,QAwCzB","sourcesContent":["/**\n * 高德地图定位相关类型定义\n * 基于 Expo Modules API\n */\n\nimport type { LatLng } from './common.types';\n\n/**\n * 坐标信息(基础定位)\n */\nexport interface Coordinates extends LatLng {\n /**\n * 海拔高度(米)\n */\n altitude: number;\n\n /**\n * 水平精度(米)\n */\n accuracy: number;\n\n /**\n * 移动方向(度,需要 GPS)\n */\n heading: number;\n\n /**\n * 移动速度(米/秒,需要 GPS)\n */\n speed: number;\n\n /**\n * 时间戳\n */\n timestamp: number;\n\n /**\n * 是否有可用坐标\n * @platform ios\n */\n isAvailableCoordinate?: boolean;\n}\n\n/**\n * 逆地理编码信息\n */\nexport interface ReGeocode extends Coordinates {\n /**\n * 格式化地址\n */\n address: string;\n\n /**\n * 国家\n */\n country: string;\n\n /**\n * 省/直辖市,如 `湖北省`\n */\n province: string;\n\n /**\n * 市,如 `武汉市`\n */\n city: string;\n\n /**\n * 区,如 `武昌区`\n */\n district: string;\n\n /**\n * 城市编码\n */\n cityCode: string;\n\n /**\n * 区域编码\n */\n adCode: string;\n\n /**\n * 街道名称\n */\n street: string;\n\n /**\n * 门牌号\n */\n streetNumber: string;\n\n /**\n * 兴趣点名称\n */\n poiName: string;\n\n /**\n * 所属兴趣点名称\n */\n aoiName: string;\n\n /**\n * 定位信息描述\n * @platform android\n */\n description?: string;\n\n /**\n * 坐标系类型\n * @platform android\n */\n coordType?: 'GCJ02' | 'WGS84';\n\n /**\n * 室内定位建筑物ID\n * @platform android\n */\n buildingId?: string;\n}\n\n/**\n * 定位精度级别\n * @platform ios\n */\nexport enum LocationAccuracy {\n /**\n * 最适合导航\n */\n BestForNavigation = 0,\n\n /**\n * 最高精度(约10米,耗时约10秒)\n */\n Best = 1,\n\n /**\n * 10米精度\n */\n NearestTenMeters = 2,\n\n /**\n * 100米精度(推荐)\n */\n HundredMeters = 3,\n\n /**\n * 1公里精度\n */\n Kilometer = 4,\n\n /**\n * 3公里精度\n */\n ThreeKilometers = 5,\n}\n\n/**\n * 定位模式\n * @platform android\n */\nexport enum LocationMode {\n /**\n * 高精度模式(网络+卫星)\n */\n HighAccuracy = 1,\n\n /**\n * 低功耗模式(仅网络)\n */\n BatterySaving = 2,\n\n /**\n * 仅设备模式(仅卫星)\n */\n DeviceSensors = 3,\n}\n\n/**\n * 坐标系类型\n */\nexport enum CoordinateType {\n /**\n * 高德坐标系\n */\n AMap = -1,\n\n /**\n * 百度坐标系\n */\n Baidu = 0,\n\n /**\n * MapBar坐标系\n */\n MapBar = 1,\n\n /**\n * MapABC坐标系\n */\n MapABC = 2,\n\n /**\n * 搜搜地图坐标系\n */\n SoSoMap = 3,\n\n /**\n * 阿里云坐标系\n */\n AliYun = 4,\n\n /**\n * 谷歌坐标系\n */\n Google = 5,\n\n /**\n * GPS坐标系\n */\n GPS = 6,\n}\n\n/**\n * 地理语言\n */\nexport type GeoLanguage = 'DEFAULT' | 'EN' | 'ZH';\n\n/**\n * 网络协议\n * @platform android\n */\nexport type LocationProtocol = 'HTTP' | 'HTTPS';\n\n/**\n * 定位配置选项\n */\nexport interface LocationOptions {\n /**\n * 是否返回逆地理信息\n * @default true\n */\n withReGeocode?: boolean;\n\n /**\n * 定位精度\n * @platform ios\n */\n accuracy?: LocationAccuracy;\n\n /**\n * 定位模式\n * @platform android\n */\n mode?: LocationMode;\n\n /**\n * 是否单次定位\n * @platform android\n * @default false\n */\n onceLocation?: boolean;\n\n /**\n * 定位间隔(毫秒)\n * @platform android\n * @default 2000\n */\n interval?: number;\n\n /**\n * 定位超时时间(秒)\n * @platform ios\n * @default 10\n */\n timeout?: number;\n\n /**\n * 逆地理编码超时时间(秒)\n * @platform ios\n * @default 2\n */\n reGeocodeTimeout?: number;\n\n /**\n * 最小更新距离(米)\n * @platform ios\n */\n distanceFilter?: number;\n\n /**\n * 是否启用设备传感器\n * @platform android\n * @default false\n */\n sensorEnable?: boolean;\n\n /**\n * 是否允许WIFI刷新\n * @platform android\n * @default true\n */\n wifiScan?: boolean;\n\n /**\n * 是否GPS优先\n * @platform android\n * @default false\n */\n gpsFirst?: boolean;\n\n /**\n * 是否等待WIFI列表刷新\n * 定位精度会更高,但是定位速度会变慢1-3秒\n * @platform android\n * @default false\n */\n onceLocationLatest?: boolean;\n\n /**\n * 逆地理语言\n */\n geoLanguage?: GeoLanguage;\n\n /**\n * 是否允许后台定位\n * @default false\n */\n allowsBackgroundLocationUpdates?: boolean;\n\n /**\n * 是否自动暂停定位\n * @platform ios\n * @default false\n */\n pausesLocationUpdatesAutomatically?: boolean;\n\n /**\n * 是否使用缓存策略\n * @platform android\n * @default true\n */\n locationCacheEnable?: boolean;\n\n /**\n * 网络请求超时时间(毫秒)\n * @platform android\n * @default 30000\n */\n httpTimeout?: number;\n\n /**\n * 网络协议\n * @platform android\n * @default 'HTTP'\n */\n protocol?: LocationProtocol;\n}\n\n/**\n * 定位事件监听器\n */\nexport type LocationListener = (location: Coordinates | ReGeocode) => void;\n"]}
@@ -196,6 +196,18 @@ export interface MapViewProps {
196
196
  onCirclePress?: (event: {
197
197
  circleId: string;
198
198
  } & LatLng) => void;
199
+ /**
200
+ * Polygon 点击事件
201
+ */
202
+ onPolygonPress?: (event: {
203
+ polygonId: string;
204
+ } & LatLng) => void;
205
+ /**
206
+ * Polyline 点击事件
207
+ */
208
+ onPolylinePress?: (event: {
209
+ polylineId: string;
210
+ } & LatLng) => void;
199
211
  /**
200
212
  * 子组件
201
213
  */
@@ -1 +1 @@
1
- {"version":3,"file":"map-view.types.d.ts","sourceRoot":"","sources":["../../src/types/map-view.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"map-view.types.d.ts","sourceRoot":"","sources":["../../src/types/map-view.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"map-view.types.js","sourceRoot":"","sources":["../../src/types/map-view.types.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * 高德地图视图相关类型定义\n * 基于 Expo Modules API\n */\n\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport type { CameraPosition, LatLng, LatLngBounds, MapPoi, MapType, Point } from './common.types';\n\n/**\n * 地图相机事件\n */\nexport interface CameraEvent {\n /**\n * 相机位置\n */\n cameraPosition: CameraPosition;\n\n /**\n * 可见区域边界\n */\n latLngBounds: LatLngBounds;\n}\n\n/**\n * 地图视图属性\n */\nexport interface MapViewProps {\n /**\n * 地图类型\n */\n mapType?: MapType;\n\n /**\n * 初始相机位置\n */\n initialCameraPosition?: CameraPosition;\n\n /**\n * 是否显示当前定位\n */\n myLocationEnabled?: boolean;\n\n /**\n * 是否跟随用户位置\n * @default false\n */\n followUserLocation?: boolean;\n\n /**\n * 定位蓝点配置\n */\n userLocationRepresentation?: {\n /** 精度圈是否显示 @default true */\n showsAccuracyRing?: boolean;\n /** 是否显示方向指示 @default true @platform ios */\n showsHeadingIndicator?: boolean;\n /** 精度圈填充颜色 支持 '#RRGGBB'、'red' 或 ARGB 数字 */\n fillColor?: string | number;\n /** 精度圈边线颜色 */\n strokeColor?: string | number;\n /** 精度圈边线宽度 @default 0 */\n lineWidth?: number;\n /** 内部蓝色圆点是否使用律动效果 @default true @platform ios */\n enablePulseAnimation?: boolean;\n /** 定位点背景色 @default 'white' @platform ios */\n locationDotBgColor?: string | number;\n /** 定位点蓝色圆点颜色 @default 'blue' @platform ios */\n locationDotFillColor?: string | number;\n /** 定位图标 支持网络图片(http/https)、本地文件(file://)或资源名称 */\n image?: string;\n /** 定位图标宽度(像素) */\n imageWidth?: number;\n /** 定位图标高度(像素) */\n imageHeight?: number;\n };\n\n /**\n * 是否显示室内地图\n * \n */\n indoorViewEnabled?: boolean;\n\n /**\n * 是否显示3D建筑\n */\n buildingsEnabled?: boolean;\n\n /**\n * 是否显示标注\n */\n labelsEnabled?: boolean;\n\n /**\n * 是否显示指南针\n */\n compassEnabled?: boolean;\n\n /**\n * 是否显示缩放按钮\n * @platform android\n */\n zoomControlsEnabled?: boolean;\n\n /**\n * 是否显示比例尺\n */\n scaleControlsEnabled?: boolean;\n\n /**\n * 是否显示定位按钮\n * @platform android\n */\n myLocationButtonEnabled?: boolean;\n\n /**\n * 是否显示路况\n */\n trafficEnabled?: boolean;\n\n /**\n * 最大缩放级别\n */\n maxZoom?: number;\n\n /**\n * 最小缩放级别\n */\n minZoom?: number;\n\n /**\n * 是否启用缩放手势\n */\n zoomGesturesEnabled?: boolean;\n\n /**\n * 是否启用滑动手势\n */\n scrollGesturesEnabled?: boolean;\n\n /**\n * 是否启用旋转手势\n */\n rotateGesturesEnabled?: boolean;\n\n /**\n * 是否启用倾斜手势\n */\n tiltGesturesEnabled?: boolean;\n\n /**\n * 定位的最小更新距离(米)\n * @platform ios\n */\n distanceFilter?: number;\n\n /**\n * 最小更新角度(度)\n * @platform ios\n */\n headingFilter?: number;\n\n /**\n * 样式\n */\n style?: StyleProp<ViewStyle>;\n\n /**\n * 点击地图事件\n */\n onMapPress?: (event: LatLng) => void;\n\n /**\n * 点击标注点事件\n */\n onPressPoi?: (event: MapPoi) => void;\n\n /**\n * 长按地图事件\n */\n onMapLongPress?: (event: LatLng) => void;\n\n /**\n * 地图状态改变事件(实时触发)\n */\n onCameraMove?: (event: CameraEvent) => void;\n\n /**\n * 地图状态改变完成事件\n */\n onCameraIdle?: (event: CameraEvent) => void;\n\n /**\n * 地图加载完成事件\n */\n onLoad?: (event: {}) => void;\n\n /**\n * 地图定位更新事件\n */\n onLocation?: (event: Location) => void;\n\n /**\n * Marker 点击事件\n */\n onMarkerPress?: (event: { markerId: string } & LatLng) => void;\n\n /**\n * Marker 拖拽开始事件\n */\n onMarkerDragStart?: (event: { markerId: string } & LatLng) => void;\n\n /**\n * Marker 拖拽中事件\n */\n onMarkerDrag?: (event: { markerId: string } & LatLng) => void;\n\n /**\n * Marker 拖拽结束事件\n */\n onMarkerDragEnd?: (event: { markerId: string } & LatLng) => void;\n\n /**\n * Circle 点击事件\n */\n onCirclePress?: (event: { circleId: string } & LatLng) => void;\n\n /**\n * 子组件\n */\n children?: React.ReactNode;\n}\n\n/**\n * 地图视图方法\n */\nexport interface MapViewMethods {\n /**\n * 移动相机\n * @param cameraPosition 目标相机位置\n * @param duration 动画时长(毫秒)\n */\n moveCamera(cameraPosition: CameraPosition, duration?: number): void;\n\n /**\n * 将屏幕坐标转换为地理坐标\n * @param point 屏幕坐标\n * @returns 地理坐标\n */\n getLatLng(point: Point): Promise<LatLng>;\n}\n\n/**\n * MapView Ref 公开接口(用户使用)\n */\nexport interface MapViewRef {\n moveCamera(position: CameraPosition, duration?: number): Promise<void>;\n getLatLng(point: Point): Promise<LatLng>;\n setCenter(center: LatLng, animated?: boolean): Promise<void>;\n setZoom(zoom: number, animated?: boolean): Promise<void>;\n getCameraPosition(): Promise<CameraPosition>;\n addCircle(id: string, props: import('./overlays.types').CircleProps): Promise<void>;\n removeCircle(id: string): Promise<void>;\n updateCircle(id: string, props: Partial<import('./overlays.types').CircleProps>): Promise<void>;\n addMarker(id: string, props: import('./overlays.types').MarkerProps): Promise<void>;\n removeMarker(id: string): Promise<void>;\n updateMarker(id: string, props: Partial<import('./overlays.types').MarkerProps>): Promise<void>;\n addPolyline(id: string, props: import('./overlays.types').PolylineProps): Promise<void>;\n removePolyline(id: string): Promise<void>;\n updatePolyline(id: string, props: Partial<import('./overlays.types').PolylineProps>): Promise<void>;\n addPolygon(id: string, props: import('./overlays.types').PolygonProps): Promise<void>;\n removePolygon(id: string): Promise<void>;\n updatePolygon(id: string, props: Partial<import('./overlays.types').PolygonProps>): Promise<void>;\n}\n\n/**\n * 原生 MapView Ref 接口(所有参数必需)\n */\nexport interface NativeMapViewRef {\n moveCamera(position: CameraPosition, duration: number): Promise<void>;\n getLatLng(point: Point): Promise<LatLng>;\n setCenter(center: LatLng, animated: boolean): Promise<void>;\n setZoom(zoom: number, animated: boolean): Promise<void>;\n getCameraPosition(): Promise<CameraPosition>;\n addCircle(id: string, props: import('./overlays.types').CircleProps): Promise<void>;\n removeCircle(id: string): Promise<void>;\n updateCircle(id: string, props: Partial<import('./overlays.types').CircleProps>): Promise<void>;\n addMarker(id: string, props: import('./overlays.types').MarkerProps): Promise<void>;\n removeMarker(id: string): Promise<void>;\n updateMarker(id: string, props: Partial<import('./overlays.types').MarkerProps>): Promise<void>;\n addPolyline(id: string, props: import('./overlays.types').PolylineProps): Promise<void>;\n removePolyline(id: string): Promise<void>;\n updatePolyline(id: string, props: Partial<import('./overlays.types').PolylineProps>): Promise<void>;\n addPolygon(id: string, props: import('./overlays.types').PolygonProps): Promise<void>;\n removePolygon(id: string): Promise<void>;\n updatePolygon(id: string, props: Partial<import('./overlays.types').PolygonProps>): Promise<void>;\n}\n"]}
1
+ {"version":3,"file":"map-view.types.js","sourceRoot":"","sources":["../../src/types/map-view.types.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * 高德地图视图相关类型定义\n * 基于 Expo Modules API\n */\n\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport type { CameraPosition, LatLng, LatLngBounds, MapPoi, MapType, Point } from './common.types';\n\n/**\n * 地图相机事件\n */\nexport interface CameraEvent {\n /**\n * 相机位置\n */\n cameraPosition: CameraPosition;\n\n /**\n * 可见区域边界\n */\n latLngBounds: LatLngBounds;\n}\n\n/**\n * 地图视图属性\n */\nexport interface MapViewProps {\n /**\n * 地图类型\n */\n mapType?: MapType;\n\n /**\n * 初始相机位置\n */\n initialCameraPosition?: CameraPosition;\n\n /**\n * 是否显示当前定位\n */\n myLocationEnabled?: boolean;\n\n /**\n * 是否跟随用户位置\n * @default false\n */\n followUserLocation?: boolean;\n\n /**\n * 定位蓝点配置\n */\n userLocationRepresentation?: {\n /** 精度圈是否显示 @default true */\n showsAccuracyRing?: boolean;\n /** 是否显示方向指示 @default true @platform ios */\n showsHeadingIndicator?: boolean;\n /** 精度圈填充颜色 支持 '#RRGGBB'、'red' 或 ARGB 数字 */\n fillColor?: string | number;\n /** 精度圈边线颜色 */\n strokeColor?: string | number;\n /** 精度圈边线宽度 @default 0 */\n lineWidth?: number;\n /** 内部蓝色圆点是否使用律动效果 @default true @platform ios */\n enablePulseAnimation?: boolean;\n /** 定位点背景色 @default 'white' @platform ios */\n locationDotBgColor?: string | number;\n /** 定位点蓝色圆点颜色 @default 'blue' @platform ios */\n locationDotFillColor?: string | number;\n /** 定位图标 支持网络图片(http/https)、本地文件(file://)或资源名称 */\n image?: string;\n /** 定位图标宽度(像素) */\n imageWidth?: number;\n /** 定位图标高度(像素) */\n imageHeight?: number;\n };\n\n /**\n * 是否显示室内地图\n * \n */\n indoorViewEnabled?: boolean;\n\n /**\n * 是否显示3D建筑\n */\n buildingsEnabled?: boolean;\n\n /**\n * 是否显示标注\n */\n labelsEnabled?: boolean;\n\n /**\n * 是否显示指南针\n */\n compassEnabled?: boolean;\n\n /**\n * 是否显示缩放按钮\n * @platform android\n */\n zoomControlsEnabled?: boolean;\n\n /**\n * 是否显示比例尺\n */\n scaleControlsEnabled?: boolean;\n\n /**\n * 是否显示定位按钮\n * @platform android\n */\n myLocationButtonEnabled?: boolean;\n\n /**\n * 是否显示路况\n */\n trafficEnabled?: boolean;\n\n /**\n * 最大缩放级别\n */\n maxZoom?: number;\n\n /**\n * 最小缩放级别\n */\n minZoom?: number;\n\n /**\n * 是否启用缩放手势\n */\n zoomGesturesEnabled?: boolean;\n\n /**\n * 是否启用滑动手势\n */\n scrollGesturesEnabled?: boolean;\n\n /**\n * 是否启用旋转手势\n */\n rotateGesturesEnabled?: boolean;\n\n /**\n * 是否启用倾斜手势\n */\n tiltGesturesEnabled?: boolean;\n\n /**\n * 定位的最小更新距离(米)\n * @platform ios\n */\n distanceFilter?: number;\n\n /**\n * 最小更新角度(度)\n * @platform ios\n */\n headingFilter?: number;\n\n /**\n * 样式\n */\n style?: StyleProp<ViewStyle>;\n\n /**\n * 点击地图事件\n */\n onMapPress?: (event: LatLng) => void;\n\n /**\n * 点击标注点事件\n */\n onPressPoi?: (event: MapPoi) => void;\n\n /**\n * 长按地图事件\n */\n onMapLongPress?: (event: LatLng) => void;\n\n /**\n * 地图状态改变事件(实时触发)\n */\n onCameraMove?: (event: CameraEvent) => void;\n\n /**\n * 地图状态改变完成事件\n */\n onCameraIdle?: (event: CameraEvent) => void;\n\n /**\n * 地图加载完成事件\n */\n onLoad?: (event: {}) => void;\n\n /**\n * 地图定位更新事件\n */\n onLocation?: (event: Location) => void;\n\n /**\n * Marker 点击事件\n */\n onMarkerPress?: (event: { markerId: string } & LatLng) => void;\n\n /**\n * Marker 拖拽开始事件\n */\n onMarkerDragStart?: (event: { markerId: string } & LatLng) => void;\n\n /**\n * Marker 拖拽中事件\n */\n onMarkerDrag?: (event: { markerId: string } & LatLng) => void;\n\n /**\n * Marker 拖拽结束事件\n */\n onMarkerDragEnd?: (event: { markerId: string } & LatLng) => void;\n\n /**\n * Circle 点击事件\n */\n onCirclePress?: (event: { circleId: string } & LatLng) => void;\n\n /**\n * Polygon 点击事件\n */\n onPolygonPress?: (event: { polygonId: string } & LatLng) => void;\n\n /**\n * Polyline 点击事件\n */\n onPolylinePress?: (event: { polylineId: string } & LatLng) => void;\n\n /**\n * 子组件\n */\n children?: React.ReactNode;\n}\n\n/**\n * 地图视图方法\n */\nexport interface MapViewMethods {\n /**\n * 移动相机\n * @param cameraPosition 目标相机位置\n * @param duration 动画时长(毫秒)\n */\n moveCamera(cameraPosition: CameraPosition, duration?: number): void;\n\n /**\n * 将屏幕坐标转换为地理坐标\n * @param point 屏幕坐标\n * @returns 地理坐标\n */\n getLatLng(point: Point): Promise<LatLng>;\n}\n\n/**\n * MapView Ref 公开接口(用户使用)\n */\nexport interface MapViewRef {\n moveCamera(position: CameraPosition, duration?: number): Promise<void>;\n getLatLng(point: Point): Promise<LatLng>;\n setCenter(center: LatLng, animated?: boolean): Promise<void>;\n setZoom(zoom: number, animated?: boolean): Promise<void>;\n getCameraPosition(): Promise<CameraPosition>;\n addCircle(id: string, props: import('./overlays.types').CircleProps): Promise<void>;\n removeCircle(id: string): Promise<void>;\n updateCircle(id: string, props: Partial<import('./overlays.types').CircleProps>): Promise<void>;\n addMarker(id: string, props: import('./overlays.types').MarkerProps): Promise<void>;\n removeMarker(id: string): Promise<void>;\n updateMarker(id: string, props: Partial<import('./overlays.types').MarkerProps>): Promise<void>;\n addPolyline(id: string, props: import('./overlays.types').PolylineProps): Promise<void>;\n removePolyline(id: string): Promise<void>;\n updatePolyline(id: string, props: Partial<import('./overlays.types').PolylineProps>): Promise<void>;\n addPolygon(id: string, props: import('./overlays.types').PolygonProps): Promise<void>;\n removePolygon(id: string): Promise<void>;\n updatePolygon(id: string, props: Partial<import('./overlays.types').PolygonProps>): Promise<void>;\n}\n\n/**\n * 原生 MapView Ref 接口(所有参数必需)\n */\nexport interface NativeMapViewRef {\n moveCamera(position: CameraPosition, duration: number): Promise<void>;\n getLatLng(point: Point): Promise<LatLng>;\n setCenter(center: LatLng, animated: boolean): Promise<void>;\n setZoom(zoom: number, animated: boolean): Promise<void>;\n getCameraPosition(): Promise<CameraPosition>;\n addCircle(id: string, props: import('./overlays.types').CircleProps): Promise<void>;\n removeCircle(id: string): Promise<void>;\n updateCircle(id: string, props: Partial<import('./overlays.types').CircleProps>): Promise<void>;\n addMarker(id: string, props: import('./overlays.types').MarkerProps): Promise<void>;\n removeMarker(id: string): Promise<void>;\n updateMarker(id: string, props: Partial<import('./overlays.types').MarkerProps>): Promise<void>;\n addPolyline(id: string, props: import('./overlays.types').PolylineProps): Promise<void>;\n removePolyline(id: string): Promise<void>;\n updatePolyline(id: string, props: Partial<import('./overlays.types').PolylineProps>): Promise<void>;\n addPolygon(id: string, props: import('./overlays.types').PolygonProps): Promise<void>;\n removePolygon(id: string): Promise<void>;\n updatePolygon(id: string, props: Partial<import('./overlays.types').PolygonProps>): Promise<void>;\n}\n"]}