expo-gaode-map 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/android/src/main/java/expo/modules/gaodemap/ExpoGaodeMapModule.kt +17 -1
- package/android/src/main/java/expo/modules/gaodemap/ExpoGaodeMapView.kt +52 -5
- package/android/src/main/java/expo/modules/gaodemap/managers/OverlayManager.kt +184 -6
- package/android/src/main/java/expo/modules/gaodemap/overlays/CircleView.kt +24 -51
- package/android/src/main/java/expo/modules/gaodemap/overlays/MarkerView.kt +3 -0
- package/build/ExpoGaodeMap.types.d.ts.map +1 -1
- package/build/ExpoGaodeMap.types.js +0 -10
- package/build/ExpoGaodeMap.types.js.map +1 -1
- package/build/ExpoGaodeMapModule.d.ts.map +1 -1
- package/build/ExpoGaodeMapModule.js +0 -10
- package/build/ExpoGaodeMapModule.js.map +1 -1
- package/build/ExpoGaodeMapView.d.ts +39 -20
- package/build/ExpoGaodeMapView.d.ts.map +1 -1
- package/build/ExpoGaodeMapView.js +215 -31
- package/build/ExpoGaodeMapView.js.map +1 -1
- package/build/components/overlays/Circle.d.ts +0 -15
- package/build/components/overlays/Circle.d.ts.map +1 -1
- package/build/components/overlays/Circle.js +28 -46
- package/build/components/overlays/Circle.js.map +1 -1
- package/build/components/overlays/Cluster.d.ts +3 -15
- package/build/components/overlays/Cluster.d.ts.map +1 -1
- package/build/components/overlays/Cluster.js +3 -25
- package/build/components/overlays/Cluster.js.map +1 -1
- package/build/components/overlays/HeatMap.d.ts +3 -14
- package/build/components/overlays/HeatMap.d.ts.map +1 -1
- package/build/components/overlays/HeatMap.js +3 -24
- package/build/components/overlays/HeatMap.js.map +1 -1
- package/build/components/overlays/Marker.d.ts +2 -15
- package/build/components/overlays/Marker.d.ts.map +1 -1
- package/build/components/overlays/Marker.js +60 -46
- package/build/components/overlays/Marker.js.map +1 -1
- package/build/components/overlays/MultiPoint.d.ts +3 -14
- package/build/components/overlays/MultiPoint.d.ts.map +1 -1
- package/build/components/overlays/MultiPoint.js +3 -24
- package/build/components/overlays/MultiPoint.js.map +1 -1
- package/build/components/overlays/Polygon.d.ts +13 -16
- package/build/components/overlays/Polygon.d.ts.map +1 -1
- package/build/components/overlays/Polygon.js +41 -75
- package/build/components/overlays/Polygon.js.map +1 -1
- package/build/components/overlays/Polyline.d.ts +12 -14
- package/build/components/overlays/Polyline.d.ts.map +1 -1
- package/build/components/overlays/Polyline.js +34 -35
- package/build/components/overlays/Polyline.js.map +1 -1
- package/build/components/overlays/index.d.ts.map +1 -1
- package/build/components/overlays/index.js +0 -10
- package/build/components/overlays/index.js.map +1 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +0 -10
- package/build/index.js.map +1 -1
- package/build/modules/AMapLocation.d.ts +47 -10
- package/build/modules/AMapLocation.d.ts.map +1 -1
- package/build/modules/AMapLocation.js +48 -20
- package/build/modules/AMapLocation.js.map +1 -1
- package/build/modules/AMapPermissions.d.ts +3 -1
- package/build/modules/AMapPermissions.d.ts.map +1 -1
- package/build/modules/AMapPermissions.js +3 -11
- package/build/modules/AMapPermissions.js.map +1 -1
- package/build/modules/AMapSDK.d.ts +5 -4
- package/build/modules/AMapSDK.d.ts.map +1 -1
- package/build/modules/AMapSDK.js +5 -14
- package/build/modules/AMapSDK.js.map +1 -1
- package/build/modules/AMapView.d.ts.map +1 -1
- package/build/modules/AMapView.js +0 -8
- package/build/modules/AMapView.js.map +1 -1
- package/build/types/index.d.ts.map +1 -1
- package/build/types/index.js +0 -10
- package/build/types/index.js.map +1 -1
- package/build/types/map-view.types.d.ts +30 -0
- package/build/types/map-view.types.d.ts.map +1 -1
- package/build/types/map-view.types.js.map +1 -1
- package/build/types/overlays.types.d.ts +25 -1
- package/build/types/overlays.types.d.ts.map +1 -1
- package/build/types/overlays.types.js.map +1 -1
- package/docs/API.md +40 -0
- package/docs/EXAMPLES.md +86 -2
- package/docs/RELEASE_GUIDE.md +178 -0
- package/expo-module.config.json +1 -1
- package/ios/ExpoGaodeMapModule.swift +42 -14
- package/ios/ExpoGaodeMapView.swift +210 -7
- package/ios/managers/OverlayManager.swift +78 -10
- package/ios/overlays/CircleView.swift +41 -12
- package/ios/overlays/MarkerView.swift +55 -3
- package/ios/overlays/PolygonView.swift +25 -5
- package/ios/overlays/PolylineView.swift +23 -4
- package/ios/utils/ColorParser.swift +0 -5
- package/package.json +1 -1
- package/src/ExpoGaodeMap.types.ts +1 -10
- package/src/ExpoGaodeMapModule.ts +1 -10
- package/src/ExpoGaodeMapView.tsx +257 -38
- package/src/components/overlays/Circle.tsx +32 -50
- package/src/components/overlays/Cluster.tsx +4 -26
- package/src/components/overlays/HeatMap.tsx +4 -25
- package/src/components/overlays/Marker.tsx +69 -52
- package/src/components/overlays/MultiPoint.tsx +4 -25
- package/src/components/overlays/Polygon.tsx +48 -78
- package/src/components/overlays/Polyline.tsx +41 -38
- package/src/components/overlays/index.ts +0 -11
- package/src/index.ts +0 -11
- package/src/modules/AMapLocation.ts +56 -20
- package/src/modules/AMapPermissions.ts +4 -11
- package/src/modules/AMapSDK.ts +7 -14
- package/src/modules/AMapView.ts +0 -8
- package/src/types/index.ts +1 -10
- package/src/types/map-view.types.ts +25 -0
- package/src/types/overlays.types.ts +30 -1
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
import type { PolylineProps } from '../../types';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Polyline 组件用于在高德地图上绘制折线
|
|
4
4
|
*
|
|
5
|
-
* @
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* </MapView>
|
|
17
|
-
* ```
|
|
5
|
+
* @param props - 折线的配置属性
|
|
6
|
+
* @param props.points - 折线的坐标点数组
|
|
7
|
+
* @param props.width - 折线的宽度(像素)
|
|
8
|
+
* @param props.color - 折线的颜色(十六进制或RGBA)
|
|
9
|
+
* @param [props.texture] - 可选,折线的纹理样式
|
|
10
|
+
*
|
|
11
|
+
* @remarks
|
|
12
|
+
* 组件内部使用 React 的 useEffect 钩子来管理折线的生命周期:
|
|
13
|
+
* 1. 组件挂载时创建折线并添加到地图
|
|
14
|
+
* 2. 组件卸载时自动从地图移除折线
|
|
15
|
+
* 3. 使用 ref 保存折线ID以便清理
|
|
18
16
|
*/
|
|
19
17
|
export default function Polyline(props: PolylineProps): null;
|
|
20
18
|
//# sourceMappingURL=Polyline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Polyline.d.ts","sourceRoot":"","sources":["../../../src/components/overlays/Polyline.tsx"],"names":[],"mappings":"
|
|
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,49 +1,48 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* @Author : 尚博信_王强 wangqiang03@sunboxsoft.com
|
|
3
|
-
* @Date : 2025-11-13 15:01:30
|
|
4
|
-
* @LastEditors : 尚博信_王强 wangqiang03@sunboxsoft.com
|
|
5
|
-
* @LastEditTime : 2025-11-15 01:08:27
|
|
6
|
-
* @FilePath : /expo-gaode-map/src/components/overlays/Polyline.tsx
|
|
7
|
-
* @Description : 地图折线组件 - 使用命令式 API
|
|
8
|
-
*
|
|
9
|
-
* Copyright (c) 2025 by 尚博信_王强, All Rights Reserved.
|
|
10
|
-
*/
|
|
11
1
|
import * as React from 'react';
|
|
12
2
|
import { MapContext } from '../../ExpoGaodeMapView';
|
|
13
3
|
/**
|
|
14
|
-
*
|
|
4
|
+
* Polyline 组件用于在高德地图上绘制折线
|
|
15
5
|
*
|
|
16
|
-
* @
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* </MapView>
|
|
28
|
-
* ```
|
|
6
|
+
* @param props - 折线的配置属性
|
|
7
|
+
* @param props.points - 折线的坐标点数组
|
|
8
|
+
* @param props.width - 折线的宽度(像素)
|
|
9
|
+
* @param props.color - 折线的颜色(十六进制或RGBA)
|
|
10
|
+
* @param [props.texture] - 可选,折线的纹理样式
|
|
11
|
+
*
|
|
12
|
+
* @remarks
|
|
13
|
+
* 组件内部使用 React 的 useEffect 钩子来管理折线的生命周期:
|
|
14
|
+
* 1. 组件挂载时创建折线并添加到地图
|
|
15
|
+
* 2. 组件卸载时自动从地图移除折线
|
|
16
|
+
* 3. 使用 ref 保存折线ID以便清理
|
|
29
17
|
*/
|
|
30
18
|
export default function Polyline(props) {
|
|
31
19
|
const mapRef = React.useContext(MapContext);
|
|
32
20
|
const polylineIdRef = React.useRef(null);
|
|
33
|
-
|
|
21
|
+
const propsRef = React.useRef(props);
|
|
22
|
+
React.useEffect(() => {
|
|
23
|
+
propsRef.current = props;
|
|
24
|
+
}, [props]);
|
|
34
25
|
React.useEffect(() => {
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
26
|
+
const checkAndAdd = () => {
|
|
27
|
+
if (!mapRef?.current) {
|
|
28
|
+
setTimeout(checkAndAdd, 50);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const polylineId = `polyline_${Date.now()}_${Math.random()}`;
|
|
32
|
+
polylineIdRef.current = polylineId;
|
|
33
|
+
const polylineProps = {
|
|
34
|
+
points: propsRef.current.points,
|
|
35
|
+
width: propsRef.current.width,
|
|
36
|
+
color: propsRef.current.color,
|
|
37
|
+
...(propsRef.current.texture && { texture: propsRef.current.texture }),
|
|
38
|
+
};
|
|
39
|
+
mapRef.current.addPolyline(polylineId, polylineProps);
|
|
43
40
|
};
|
|
44
|
-
|
|
41
|
+
checkAndAdd();
|
|
45
42
|
return () => {
|
|
46
|
-
mapRef?.current
|
|
43
|
+
if (polylineIdRef.current && mapRef?.current) {
|
|
44
|
+
mapRef.current.removePolyline(polylineIdRef.current);
|
|
45
|
+
}
|
|
47
46
|
};
|
|
48
47
|
}, []);
|
|
49
48
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Polyline.js","sourceRoot":"","sources":["../../../src/components/overlays/Polyline.tsx"],"names":[],"mappings":"
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/overlays/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/overlays/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* @Author : 尚博信_王强 wangqiang03@sunboxsoft.com
|
|
3
|
-
* @Date : 2025-11-13 15:03:10
|
|
4
|
-
* @LastEditors : 尚博信_王强 wangqiang03@sunboxsoft.com
|
|
5
|
-
* @LastEditTime : 2025-11-13 15:03:22
|
|
6
|
-
* @FilePath : /expo-gaode-map/src/components/overlays/index.ts
|
|
7
|
-
* @Description : 覆盖物组件统一导出
|
|
8
|
-
*
|
|
9
|
-
* Copyright (c) 2025 by 尚博信_王强, All Rights Reserved.
|
|
10
|
-
*/
|
|
11
1
|
export { default as Marker } from './Marker';
|
|
12
2
|
export { default as Polyline } from './Polyline';
|
|
13
3
|
export { default as Polygon } from './Polygon';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/overlays/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/overlays/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC","sourcesContent":["export { default as Marker } from './Marker';\nexport { default as Polyline } from './Polyline';\nexport { default as Polygon } from './Polygon';\nexport { default as Circle } from './Circle';\nexport { default as HeatMap } from './HeatMap';\nexport { default as MultiPoint } from './MultiPoint';\nexport { default as Cluster } from './Cluster';\n"]}
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGrE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG5E,OAAO,EACL,OAAO,IAAI,YAAY,EACvB,SAAS,EACT,KAAK,EACL,IAAI,EACJ,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,OAAO,IAAI,eAAe,EAC1B,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAMlE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EACL,MAAM,EACN,QAAQ,EACR,OAAO,EACP,MAAM,EACN,OAAO,EACP,UAAU,EACV,OAAO,GACR,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC"}
|
package/build/index.js
CHANGED
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* @Author : 尚博信_王强 wangqiang03@sunboxsoft.com
|
|
3
|
-
* @Date : 2025-11-13 14:45:15
|
|
4
|
-
* @LastEditors : 尚博信_王强 wangqiang03@sunboxsoft.com
|
|
5
|
-
* @LastEditTime : 2025-11-15 02:21:17
|
|
6
|
-
* @FilePath : /expo-gaode-map/src/index.ts
|
|
7
|
-
* @Description : 高德地图 Expo Module 主导出文件
|
|
8
|
-
*
|
|
9
|
-
* Copyright (c) 2025 by 尚博信_王强, All Rights Reserved.
|
|
10
|
-
*/
|
|
11
1
|
// 导出类型定义
|
|
12
2
|
export * from './ExpoGaodeMap.types';
|
|
13
3
|
export * from './types';
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AAExB,SAAS;AACT,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAErE,YAAY;AACZ,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE5E,SAAS;AACT,OAAO,EACL,OAAO,IAAI,YAAY,EACvB,SAAS,EACT,KAAK,EACL,IAAI,EACJ,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,WAAW;AACX,OAAO,EACL,OAAO,IAAI,eAAe,EAC1B,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAGnC,6BAA6B;AAC7B,+EAA+E;AAE/E,WAAW;AACX,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGxD,UAAU;AACV,OAAO,EACL,MAAM,EACN,QAAQ,EACR,OAAO,EACP,MAAM,EACN,OAAO,EACP,UAAU,EACV,OAAO,GACR,MAAM,uBAAuB,CAAC;AAE/B,kBAAkB;AAClB,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC","sourcesContent":["// 导出类型定义\nexport * from './ExpoGaodeMap.types';\nexport * from './types';\n\n// 导出原生模块\nexport { default as ExpoGaodeMapModule } from './ExpoGaodeMapModule';\n\n// 导出 SDK 模块\nexport { default as AMapSDK, initSDK, getVersion } from './modules/AMapSDK';\n\n// 导出定位模块\nexport {\n default as AMapLocation,\n configure,\n start,\n stop,\n isStarted,\n getCurrentLocation,\n addLocationListener,\n coordinateConvert,\n startUpdatingHeading,\n stopUpdatingHeading,\n} from './modules/AMapLocation';\n\n// 导出权限管理模块\nexport {\n default as AMapPermissions,\n checkLocationPermission,\n requestLocationPermission,\n} from './modules/AMapPermissions';\nexport type { PermissionStatus } from './modules/AMapPermissions';\n\n// 地图视图控制已移至 MapView 的 ref 调用\n// 使用方式: const mapRef = useRef<MapViewRef>(null); mapRef.current.moveCamera() 等\n\n// 导出地图视图组件\nexport { default as MapView } from './ExpoGaodeMapView';\nexport type { MapViewRef } from './ExpoGaodeMapView';\n\n// 导出覆盖物组件\nexport {\n Marker,\n Polyline,\n Polygon,\n Circle,\n HeatMap,\n MultiPoint,\n Cluster,\n} from './components/overlays';\n\n// 默认导出:直接重新导出所有模块\nexport { default } from './ExpoGaodeMapModule';\n"]}
|
|
@@ -1,45 +1,82 @@
|
|
|
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
|
+
* @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] - 定位协议
|
|
5
24
|
*/
|
|
6
25
|
export declare function configure(options: LocationOptions): void;
|
|
7
26
|
/**
|
|
8
|
-
*
|
|
27
|
+
* 启动高德地图模块,开始连续定位
|
|
28
|
+
* @throws 如果模块未初始化或启动失败时抛出异常
|
|
9
29
|
*/
|
|
10
30
|
export declare function start(): void;
|
|
11
31
|
/**
|
|
12
|
-
*
|
|
32
|
+
* 停止高德地图相关功能,停止定位
|
|
33
|
+
* @returns {void} 无返回值
|
|
13
34
|
*/
|
|
14
35
|
export declare function stop(): void;
|
|
15
36
|
/**
|
|
16
|
-
*
|
|
37
|
+
* 检查高德地图模块是否已启动,是否正在定位
|
|
38
|
+
* @returns {Promise<boolean>} 返回一个Promise,解析为布尔值表示模块是否已启动
|
|
17
39
|
*/
|
|
18
40
|
export declare function isStarted(): Promise<boolean>;
|
|
19
41
|
/**
|
|
20
|
-
*
|
|
42
|
+
* 获取设备当前位置信息,单次定位
|
|
43
|
+
* @returns {Promise<Coordinates | ReGeocode>} 返回包含坐标或逆地理编码信息的Promise
|
|
44
|
+
* @throws 如果定位服务不可用或权限被拒绝时抛出错误
|
|
21
45
|
*/
|
|
22
46
|
export declare function getCurrentLocation(): Promise<Coordinates | ReGeocode>;
|
|
23
47
|
/**
|
|
24
|
-
*
|
|
48
|
+
* 添加位置更新监听器
|
|
49
|
+
* @param {LocationListener} listener - 位置更新时的回调函数
|
|
50
|
+
* @returns {EventSubscription} 事件订阅对象,包含移除监听器的方法
|
|
51
|
+
* @throws 如果底层模块不可用,返回一个空操作的订阅对象
|
|
25
52
|
*/
|
|
26
53
|
export declare function addLocationListener(listener: LocationListener): EventSubscription;
|
|
27
54
|
/**
|
|
28
|
-
*
|
|
55
|
+
* 将坐标点转换为指定坐标系下的坐标
|
|
56
|
+
* @param {LatLng} coordinate - 需要转换的原始坐标点
|
|
57
|
+
* @param {CoordinateType} type - 目标坐标系类型
|
|
58
|
+
* @returns {Promise<LatLng>} 转换后的坐标点Promise
|
|
59
|
+
* @throws 如果底层模块不可用,则返回原始坐标
|
|
29
60
|
*/
|
|
30
61
|
export declare function coordinateConvert(coordinate: LatLng, type: CoordinateType): Promise<LatLng>;
|
|
31
62
|
/**
|
|
32
|
-
*
|
|
63
|
+
* 开始更新设备方向(罗盘朝向)
|
|
64
|
+
* 调用原生模块方法启动方向更新功能
|
|
65
|
+
* @throws 如果原生模块未实现此方法会抛出异常
|
|
33
66
|
* @platform ios
|
|
34
67
|
*/
|
|
35
68
|
export declare function startUpdatingHeading(): void;
|
|
36
69
|
/**
|
|
37
|
-
*
|
|
70
|
+
* 停止更新设备方向(罗盘朝向)
|
|
71
|
+
* 调用原生模块方法停止监听设备方向变化
|
|
72
|
+
* @throws 如果原生模块未实现此方法会抛出异常
|
|
38
73
|
* @platform ios
|
|
39
74
|
*/
|
|
40
75
|
export declare function stopUpdatingHeading(): void;
|
|
41
76
|
/**
|
|
42
|
-
*
|
|
77
|
+
* 设置高德地图的API密钥
|
|
78
|
+
* @param {string} key - 高德地图的API密钥
|
|
79
|
+
* @returns {void}
|
|
43
80
|
*/
|
|
44
81
|
export declare function setApiKey(key: string): void;
|
|
45
82
|
declare const _default: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AMapLocation.d.ts","sourceRoot":"","sources":["../../src/modules/AMapLocation.ts"],"names":[],"mappings":"
|
|
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,16 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
* @Author : 尚博信_王强 wangqiang03@sunboxsoft.com
|
|
3
|
-
* @Date : 2025-11-13 14:42:10
|
|
4
|
-
* @LastEditors : 尚博信_王强 wangqiang03@sunboxsoft.com
|
|
5
|
-
* @LastEditTime : 2025-11-13 14:42:15
|
|
6
|
-
* @FilePath : /expo-gaode-map/src/modules/AMapLocation.ts
|
|
7
|
-
* @Description : 高德地图定位模块
|
|
8
|
-
*
|
|
9
|
-
* Copyright (c) 2025 by 尚博信_王强, All Rights Reserved.
|
|
10
|
-
*/
|
|
1
|
+
//高德地图定位模块
|
|
11
2
|
import ExpoGaodeMapModule from '../ExpoGaodeMapModule';
|
|
12
3
|
/**
|
|
13
|
-
*
|
|
4
|
+
* 配置高德地图定位服务的各项参数
|
|
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] - 定位协议
|
|
14
24
|
*/
|
|
15
25
|
export function configure(options) {
|
|
16
26
|
if (options.withReGeocode !== undefined) {
|
|
@@ -69,31 +79,39 @@ export function configure(options) {
|
|
|
69
79
|
}
|
|
70
80
|
}
|
|
71
81
|
/**
|
|
72
|
-
*
|
|
82
|
+
* 启动高德地图模块,开始连续定位
|
|
83
|
+
* @throws 如果模块未初始化或启动失败时抛出异常
|
|
73
84
|
*/
|
|
74
85
|
export function start() {
|
|
75
86
|
ExpoGaodeMapModule.start?.();
|
|
76
87
|
}
|
|
77
88
|
/**
|
|
78
|
-
*
|
|
89
|
+
* 停止高德地图相关功能,停止定位
|
|
90
|
+
* @returns {void} 无返回值
|
|
79
91
|
*/
|
|
80
92
|
export function stop() {
|
|
81
93
|
ExpoGaodeMapModule.stop?.();
|
|
82
94
|
}
|
|
83
95
|
/**
|
|
84
|
-
*
|
|
96
|
+
* 检查高德地图模块是否已启动,是否正在定位
|
|
97
|
+
* @returns {Promise<boolean>} 返回一个Promise,解析为布尔值表示模块是否已启动
|
|
85
98
|
*/
|
|
86
99
|
export async function isStarted() {
|
|
87
100
|
return ExpoGaodeMapModule.isStarted?.() || Promise.resolve(false);
|
|
88
101
|
}
|
|
89
102
|
/**
|
|
90
|
-
*
|
|
103
|
+
* 获取设备当前位置信息,单次定位
|
|
104
|
+
* @returns {Promise<Coordinates | ReGeocode>} 返回包含坐标或逆地理编码信息的Promise
|
|
105
|
+
* @throws 如果定位服务不可用或权限被拒绝时抛出错误
|
|
91
106
|
*/
|
|
92
107
|
export async function getCurrentLocation() {
|
|
93
108
|
return ExpoGaodeMapModule.getCurrentLocation?.();
|
|
94
109
|
}
|
|
95
110
|
/**
|
|
96
|
-
*
|
|
111
|
+
* 添加位置更新监听器
|
|
112
|
+
* @param {LocationListener} listener - 位置更新时的回调函数
|
|
113
|
+
* @returns {EventSubscription} 事件订阅对象,包含移除监听器的方法
|
|
114
|
+
* @throws 如果底层模块不可用,返回一个空操作的订阅对象
|
|
97
115
|
*/
|
|
98
116
|
export function addLocationListener(listener) {
|
|
99
117
|
return ExpoGaodeMapModule.addListener?.('onLocationUpdate', listener) || {
|
|
@@ -101,27 +119,37 @@ export function addLocationListener(listener) {
|
|
|
101
119
|
};
|
|
102
120
|
}
|
|
103
121
|
/**
|
|
104
|
-
*
|
|
122
|
+
* 将坐标点转换为指定坐标系下的坐标
|
|
123
|
+
* @param {LatLng} coordinate - 需要转换的原始坐标点
|
|
124
|
+
* @param {CoordinateType} type - 目标坐标系类型
|
|
125
|
+
* @returns {Promise<LatLng>} 转换后的坐标点Promise
|
|
126
|
+
* @throws 如果底层模块不可用,则返回原始坐标
|
|
105
127
|
*/
|
|
106
128
|
export async function coordinateConvert(coordinate, type) {
|
|
107
129
|
return ExpoGaodeMapModule.coordinateConvert?.(coordinate, type) || Promise.resolve(coordinate);
|
|
108
130
|
}
|
|
109
131
|
/**
|
|
110
|
-
*
|
|
132
|
+
* 开始更新设备方向(罗盘朝向)
|
|
133
|
+
* 调用原生模块方法启动方向更新功能
|
|
134
|
+
* @throws 如果原生模块未实现此方法会抛出异常
|
|
111
135
|
* @platform ios
|
|
112
136
|
*/
|
|
113
137
|
export function startUpdatingHeading() {
|
|
114
138
|
ExpoGaodeMapModule.startUpdatingHeading?.();
|
|
115
139
|
}
|
|
116
140
|
/**
|
|
117
|
-
*
|
|
141
|
+
* 停止更新设备方向(罗盘朝向)
|
|
142
|
+
* 调用原生模块方法停止监听设备方向变化
|
|
143
|
+
* @throws 如果原生模块未实现此方法会抛出异常
|
|
118
144
|
* @platform ios
|
|
119
145
|
*/
|
|
120
146
|
export function stopUpdatingHeading() {
|
|
121
147
|
ExpoGaodeMapModule.stopUpdatingHeading?.();
|
|
122
148
|
}
|
|
123
149
|
/**
|
|
124
|
-
*
|
|
150
|
+
* 设置高德地图的API密钥
|
|
151
|
+
* @param {string} key - 高德地图的API密钥
|
|
152
|
+
* @returns {void}
|
|
125
153
|
*/
|
|
126
154
|
export function setApiKey(key) {
|
|
127
155
|
ExpoGaodeMapModule.setApiKey?.(key);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AMapLocation.js","sourceRoot":"","sources":["../../src/modules/AMapLocation.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"AMapLocation.js","sourceRoot":"","sources":["../../src/modules/AMapLocation.ts"],"names":[],"mappings":"AAAA,UAAU;AAGV,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AAUvD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,SAAS,CAAC,OAAwB;IAChD,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACxC,kBAAkB,CAAC,wBAAwB,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,kBAAkB,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,kBAAkB,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACvC,kBAAkB,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,kBAAkB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,kBAAkB,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAC3C,kBAAkB,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACzC,kBAAkB,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACvC,kBAAkB,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,kBAAkB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,kBAAkB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAC7C,kBAAkB,CAAC,qBAAqB,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACtC,kBAAkB,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,OAAO,CAAC,+BAA+B,KAAK,SAAS,EAAE,CAAC;QAC1D,kBAAkB,CAAC,kCAAkC,EAAE,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,OAAO,CAAC,kCAAkC,KAAK,SAAS,EAAE,CAAC;QAC7D,kBAAkB,CAAC,qCAAqC,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;IACzG,CAAC;IACD,IAAI,OAAO,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC9C,kBAAkB,CAAC,sBAAsB,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACtC,kBAAkB,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,kBAAkB,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAGD;;;GAGG;AACH,MAAM,UAAU,KAAK;IACnB,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC;AAC/B,CAAC;AAGD;;;GAGG;AACH,MAAM,UAAU,IAAI;IAClB,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC;AAC9B,CAAC;AAGD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,OAAO,kBAAkB,CAAC,SAAS,EAAE,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAGD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,OAAO,kBAAkB,CAAC,kBAAkB,EAAE,EAAE,CAAC;AACnD,CAAC;AAGD;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAA0B;IAC5D,OAAO,kBAAkB,CAAC,WAAW,EAAE,CAAC,kBAAkB,EAAE,QAAQ,CAAC,IAAI;QACvE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;KACI,CAAC;AACzB,CAAC;AAGD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAkB,EAClB,IAAoB;IAEpB,OAAO,kBAAkB,CAAC,iBAAiB,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACjG,CAAC;AAGD;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB;IAClC,kBAAkB,CAAC,oBAAoB,EAAE,EAAE,CAAC;AAC9C,CAAC;AAGD;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB;IACjC,kBAAkB,CAAC,mBAAmB,EAAE,EAAE,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,kBAAkB,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC;AAED,eAAe;IACb,SAAS;IACT,KAAK;IACL,IAAI;IACJ,SAAS;IACT,kBAAkB;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,oBAAoB;IACpB,mBAAmB;IACnB,SAAS;CACV,CAAC","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"]}
|
|
@@ -12,11 +12,13 @@ export interface PermissionStatus {
|
|
|
12
12
|
coarseLocation?: boolean;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* 检查当前应用是否具有位置权限
|
|
16
|
+
* @returns {Promise<PermissionStatus>} 返回一个Promise,解析为位置权限状态
|
|
16
17
|
*/
|
|
17
18
|
export declare function checkLocationPermission(): Promise<PermissionStatus>;
|
|
18
19
|
/**
|
|
19
20
|
* 请求位置权限
|
|
21
|
+
* @returns {Promise<PermissionStatus>} 返回一个Promise,解析为位置权限状态
|
|
20
22
|
*/
|
|
21
23
|
export declare function requestLocationPermission(): Promise<PermissionStatus>;
|
|
22
24
|
declare const _default: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AMapPermissions.d.ts","sourceRoot":"","sources":["../../src/modules/AMapPermissions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AMapPermissions.d.ts","sourceRoot":"","sources":["../../src/modules/AMapPermissions.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB;IAClB,MAAM,CAAC,EAAE,eAAe,GAAG,YAAY,GAAG,QAAQ,GAAG,kBAAkB,GAAG,qBAAqB,GAAG,SAAS,CAAC;IAC5G,qBAAqB;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qBAAqB;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAEzE;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAE3E;;;;;AAED,wBAGE"}
|
|
@@ -1,25 +1,17 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* @Author : 尚博信_王强 wangqiang03@sunboxsoft.com
|
|
3
|
-
* @Date : 2025-11-15 02:20:56
|
|
4
|
-
* @LastEditors : 尚博信_王强 wangqiang03@sunboxsoft.com
|
|
5
|
-
* @LastEditTime : 2025-11-15 02:20:58
|
|
6
|
-
* @FilePath : /expo-gaode-map/src/modules/AMapPermissions.ts
|
|
7
|
-
* @Description :
|
|
8
|
-
*
|
|
9
|
-
* Copyright (c) 2025 by 尚博信_王强, All Rights Reserved.
|
|
10
|
-
*/
|
|
11
1
|
/*
|
|
12
2
|
* 高德地图权限管理模块
|
|
13
3
|
*/
|
|
14
4
|
import ExpoGaodeMapModule from '../ExpoGaodeMapModule';
|
|
15
5
|
/**
|
|
16
|
-
*
|
|
6
|
+
* 检查当前应用是否具有位置权限
|
|
7
|
+
* @returns {Promise<PermissionStatus>} 返回一个Promise,解析为位置权限状态
|
|
17
8
|
*/
|
|
18
9
|
export async function checkLocationPermission() {
|
|
19
10
|
return await ExpoGaodeMapModule.checkLocationPermission();
|
|
20
11
|
}
|
|
21
12
|
/**
|
|
22
13
|
* 请求位置权限
|
|
14
|
+
* @returns {Promise<PermissionStatus>} 返回一个Promise,解析为位置权限状态
|
|
23
15
|
*/
|
|
24
16
|
export async function requestLocationPermission() {
|
|
25
17
|
return await ExpoGaodeMapModule.requestLocationPermission();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AMapPermissions.js","sourceRoot":"","sources":["../../src/modules/AMapPermissions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AMapPermissions.js","sourceRoot":"","sources":["../../src/modules/AMapPermissions.ts"],"names":[],"mappings":"AACA;;GAEG;AAEH,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AAgBvD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,OAAO,MAAM,kBAAkB,CAAC,uBAAuB,EAAE,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,OAAO,MAAM,kBAAkB,CAAC,yBAAyB,EAAE,CAAC;AAC9D,CAAC;AAED,eAAe;IACb,uBAAuB;IACvB,yBAAyB;CAC1B,CAAC","sourcesContent":["\n/*\n * 高德地图权限管理模块\n */\n\nimport ExpoGaodeMapModule from '../ExpoGaodeMapModule';\n\n/**\n * 权限状态\n */\nexport interface PermissionStatus {\n /** 是否已授权 */\n granted: boolean;\n /** iOS 权限状态字符串 */\n status?: 'notDetermined' | 'restricted' | 'denied' | 'authorizedAlways' | 'authorizedWhenInUse' | 'unknown';\n /** Android 精确位置权限 */\n fineLocation?: boolean;\n /** Android 粗略位置权限 */\n coarseLocation?: boolean;\n}\n\n/**\n * 检查当前应用是否具有位置权限\n * @returns {Promise<PermissionStatus>} 返回一个Promise,解析为位置权限状态\n */\nexport async function checkLocationPermission(): Promise<PermissionStatus> {\n return await ExpoGaodeMapModule.checkLocationPermission();\n}\n\n/**\n * 请求位置权限\n * @returns {Promise<PermissionStatus>} 返回一个Promise,解析为位置权限状态\n */\nexport async function requestLocationPermission(): Promise<PermissionStatus> {\n return await ExpoGaodeMapModule.requestLocationPermission();\n}\n\nexport default {\n checkLocationPermission,\n requestLocationPermission,\n};"]}
|
|
@@ -4,13 +4,14 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { SDKConfig } from '../types';
|
|
6
6
|
/**
|
|
7
|
-
* 初始化高德地图
|
|
8
|
-
* @param config SDK
|
|
7
|
+
* 初始化高德地图SDK
|
|
8
|
+
* @param {SDKConfig} config - SDK配置参数
|
|
9
|
+
* @throws 如果初始化失败会抛出异常
|
|
9
10
|
*/
|
|
10
11
|
export declare function initSDK(config: SDKConfig): void;
|
|
11
12
|
/**
|
|
12
|
-
*
|
|
13
|
-
* @returns SDK
|
|
13
|
+
* 获取高德地图SDK的版本号
|
|
14
|
+
* @returns {Promise<string>} 返回一个Promise,解析为高德地图SDK的版本字符串,如果获取失败则返回'unknown'
|
|
14
15
|
*/
|
|
15
16
|
export declare function getVersion(): Promise<string>;
|
|
16
17
|
declare const _default: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AMapSDK.d.ts","sourceRoot":"","sources":["../../src/modules/AMapSDK.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AMapSDK.d.ts","sourceRoot":"","sources":["../../src/modules/AMapSDK.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAE/C;AAGD;;;GAGG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAElD;;;;;AAED,wBAGE"}
|
package/build/modules/AMapSDK.js
CHANGED
|
@@ -1,28 +1,19 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* @Author : 尚博信_王强 wangqiang03@sunboxsoft.com
|
|
3
|
-
* @Date : 2025-11-13 14:41:55
|
|
4
|
-
* @LastEditors : 尚博信_王强 wangqiang03@sunboxsoft.com
|
|
5
|
-
* @LastEditTime : 2025-11-14 16:15:20
|
|
6
|
-
* @FilePath : /expo-gaode-map/src/modules/AMapSDK.ts
|
|
7
|
-
* @Description :
|
|
8
|
-
*
|
|
9
|
-
* Copyright (c) 2025 by 尚博信_王强, All Rights Reserved.
|
|
10
|
-
*/
|
|
11
1
|
/**
|
|
12
2
|
* 高德地图 SDK 模块
|
|
13
3
|
* 基于 Expo Modules 实现
|
|
14
4
|
*/
|
|
15
5
|
import ExpoGaodeMapModule from '../ExpoGaodeMapModule';
|
|
16
6
|
/**
|
|
17
|
-
* 初始化高德地图
|
|
18
|
-
* @param config SDK
|
|
7
|
+
* 初始化高德地图SDK
|
|
8
|
+
* @param {SDKConfig} config - SDK配置参数
|
|
9
|
+
* @throws 如果初始化失败会抛出异常
|
|
19
10
|
*/
|
|
20
11
|
export function initSDK(config) {
|
|
21
12
|
ExpoGaodeMapModule.initSDK?.(config);
|
|
22
13
|
}
|
|
23
14
|
/**
|
|
24
|
-
*
|
|
25
|
-
* @returns SDK
|
|
15
|
+
* 获取高德地图SDK的版本号
|
|
16
|
+
* @returns {Promise<string>} 返回一个Promise,解析为高德地图SDK的版本字符串,如果获取失败则返回'unknown'
|
|
26
17
|
*/
|
|
27
18
|
export async function getVersion() {
|
|
28
19
|
return ExpoGaodeMapModule.getVersion?.() || Promise.resolve('unknown');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AMapSDK.js","sourceRoot":"","sources":["../../src/modules/AMapSDK.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"AMapSDK.js","sourceRoot":"","sources":["../../src/modules/AMapSDK.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AAIvD;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,MAAiB;IACvC,kBAAkB,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAGD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,OAAO,kBAAkB,CAAC,UAAU,EAAE,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACzE,CAAC;AAED,eAAe;IACb,OAAO;IACP,UAAU;CACX,CAAC","sourcesContent":["/**\n * 高德地图 SDK 模块\n * 基于 Expo Modules 实现\n */\n\nimport ExpoGaodeMapModule from '../ExpoGaodeMapModule';\nimport type { SDKConfig } from '../types';\n\n\n/**\n * 初始化高德地图SDK\n * @param {SDKConfig} config - SDK配置参数\n * @throws 如果初始化失败会抛出异常\n */\nexport function initSDK(config: SDKConfig): void {\n ExpoGaodeMapModule.initSDK?.(config);\n}\n\n\n/**\n * 获取高德地图SDK的版本号\n * @returns {Promise<string>} 返回一个Promise,解析为高德地图SDK的版本字符串,如果获取失败则返回'unknown'\n */\nexport async function getVersion(): Promise<string> {\n return ExpoGaodeMapModule.getVersion?.() || Promise.resolve('unknown');\n}\n\nexport default {\n initSDK,\n getVersion,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AMapView.d.ts","sourceRoot":"","sources":["../../src/modules/AMapView.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AMapView.d.ts","sourceRoot":"","sources":["../../src/modules/AMapView.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE9D;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,cAAc,EAAE,cAAc,EAAE,QAAQ,SAAI,GAAG,IAAI,CAE7E;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,IAAI,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,IAAI,CAE3D;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC,CAKjE;;;;;;;;AAED,wBAME"}
|