expo-gaode-map 2.2.30 → 2.2.31-next.1

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.
@@ -108,7 +108,7 @@ class ExpoGaodeMapView(context: Context, appContext: AppContext) : ExpoView(cont
108
108
 
109
109
  // Props 存储
110
110
  /** 地图类型 */
111
- internal var mapType: Int = 1
111
+ internal var mapType: Int = 0
112
112
  /** 初始相机位置 */
113
113
  internal var initialCameraPosition: Map<String, Any?>? = null
114
114
  /** 是否跟随用户位置 */
@@ -186,7 +186,7 @@ class ExpoGaodeMapView(context: Context, appContext: AppContext) : ExpoView(cont
186
186
  isMapLoaded = true
187
187
 
188
188
  // 应用缓存的 Props
189
- if (mapType != 1) {
189
+ if (mapType != 0) {
190
190
  setMapType(mapType)
191
191
  }
192
192
 
@@ -63,7 +63,7 @@ class ExpoGaodeMapViewModule : Module() {
63
63
  }
64
64
 
65
65
  OnViewDidUpdateProps { view: ExpoGaodeMapView ->
66
- if (view.mapType != 1) {
66
+ if (view.mapType != 0) {
67
67
  view.setMapType(view.mapType)
68
68
  }
69
69
 
@@ -356,11 +356,11 @@ class UIManager(private val aMap: AMap, private val context: Context) : Location
356
356
  */
357
357
  fun setMapType(type: Int) {
358
358
  aMap.mapType = when (type) {
359
- 2 -> AMap.MAP_TYPE_SATELLITE // 卫星地图
360
- 3 -> AMap.MAP_TYPE_NIGHT // 夜间地图
361
- 4 -> AMap.MAP_TYPE_NAVI // 导航地图
362
- 5 -> AMap.MAP_TYPE_BUS // 公交地图
363
- else -> AMap.MAP_TYPE_NORMAL // 标准地图 (1, 以及兼容旧值 0)
359
+ 1 -> AMap.MAP_TYPE_SATELLITE // 卫星地图
360
+ 2 -> AMap.MAP_TYPE_NIGHT // 夜间地图
361
+ 3 -> AMap.MAP_TYPE_NAVI // 导航地图
362
+ 4 -> AMap.MAP_TYPE_BUS // 公交地图
363
+ else -> AMap.MAP_TYPE_NORMAL // 标准地图
364
364
  }
365
365
  }
366
366
 
@@ -170,24 +170,24 @@ export declare enum MapType {
170
170
  /**
171
171
  * 标准地图
172
172
  */
173
- Standard = 1,
173
+ Standard = 0,
174
174
  /**
175
175
  * 卫星地图
176
176
  */
177
- Satellite = 2,
177
+ Satellite = 1,
178
178
  /**
179
179
  * 夜间地图
180
180
  */
181
- Night = 3,
181
+ Night = 2,
182
182
  /**
183
183
  * 导航地图
184
184
  */
185
- Navi = 4,
185
+ Navi = 3,
186
186
  /**
187
187
  * 公交地图
188
188
  * @platform android
189
189
  */
190
- Bus = 5
190
+ Bus = 4
191
191
  }
192
192
  /**
193
193
  * 颜色值类型
@@ -6,23 +6,23 @@ export var MapType;
6
6
  /**
7
7
  * 标准地图
8
8
  */
9
- MapType[MapType["Standard"] = 1] = "Standard";
9
+ MapType[MapType["Standard"] = 0] = "Standard";
10
10
  /**
11
11
  * 卫星地图
12
12
  */
13
- MapType[MapType["Satellite"] = 2] = "Satellite";
13
+ MapType[MapType["Satellite"] = 1] = "Satellite";
14
14
  /**
15
15
  * 夜间地图
16
16
  */
17
- MapType[MapType["Night"] = 3] = "Night";
17
+ MapType[MapType["Night"] = 2] = "Night";
18
18
  /**
19
19
  * 导航地图
20
20
  */
21
- MapType[MapType["Navi"] = 4] = "Navi";
21
+ MapType[MapType["Navi"] = 3] = "Navi";
22
22
  /**
23
23
  * 公交地图
24
24
  * @platform android
25
25
  */
26
- MapType[MapType["Bus"] = 5] = "Bus";
26
+ MapType[MapType["Bus"] = 4] = "Bus";
27
27
  })(MapType || (MapType = {}));
28
28
  //# sourceMappingURL=common.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.types.js","sourceRoot":"","sources":["../../src/types/common.types.ts"],"names":[],"mappings":"AA8LA;;GAEG;AACH,MAAM,CAAN,IAAY,OA0BX;AA1BD,WAAY,OAAO;IACjB;;OAEG;IACH,6CAAY,CAAA;IAEZ;;OAEG;IACH,+CAAa,CAAA;IAEb;;OAEG;IACH,uCAAS,CAAA;IAET;;OAEG;IACH,qCAAQ,CAAA;IAER;;;OAGG;IACH,mCAAO,CAAA;AACT,CAAC,EA1BW,OAAO,KAAP,OAAO,QA0BlB","sourcesContent":["/**\n * 高德地图通用类型定义\n * 基于 Expo Modules API\n */\nimport { PermissionResponse } from 'expo-modules-core';\n\n/**\n * SDK 配置参数\n */\nexport interface SDKConfig {\n /** Android 平台的高德地图 API Key */\n androidKey?: string;\n /** iOS 平台的高德地图 API Key */\n iosKey?: string;\n /** web api key 如果要使用expo-gaode-map-web-api相关的功能,需要配置web api key*/\n webKey?: string;\n}\n\n/**\n * 隐私同意配置\n * 推荐优先使用该配置对象一次性完成隐私状态同步\n */\nexport interface PrivacyConfig {\n /** 是否已经向用户展示隐私弹窗或隐私说明 */\n hasShow: boolean;\n /** 展示内容中是否包含隐私政策条款 */\n hasContainsPrivacy: boolean;\n /** 用户是否已经同意隐私政策 */\n hasAgree: boolean;\n /** 可选的隐私协议版本号;变更后会要求重新同意 */\n privacyVersion?: string;\n}\n/**\n * 隐私政策状态\n */\nexport interface PrivacyStatus {\n hasShow: boolean;\n hasContainsPrivacy: boolean;\n hasAgree: boolean;\n isReady: boolean;\n privacyVersion?: string | null;\n agreedPrivacyVersion?: string | null;\n restoredFromStorage?: boolean;\n}\n\n/**\n * 权限状态(增强版,支持 Android 14+ 和 iOS 17+)\n */\nexport interface PermissionStatus extends PermissionResponse{\n /** 是否已授权(前台位置权限) */\n granted: boolean;\n \n // Android 专用字段\n /** Android 精确位置权限 */\n fineLocation?: boolean;\n /** Android 粗略位置权限 */\n coarseLocation?: boolean;\n /** Android 后台位置权限(Android 10+) */\n backgroundLocation?: boolean;\n /** 是否应显示权限说明(Android) */\n shouldShowRationale?: boolean;\n /** 权限是否被永久拒绝(Android) */\n isPermanentlyDenied?: boolean;\n /** 是否为 Android 14+(Android) */\n isAndroid14Plus?: boolean;\n \n // 其他字段\n /** 额外的消息说明 */\n message?: string;\n}\n\n/**\n * 点坐标(屏幕坐标)\n */\nexport interface Point {\n x: number;\n y: number;\n}\n\n/**\n * 地理坐标\n */\nexport interface LatLng {\n /**\n * 纬度\n */\n latitude: number;\n\n /**\n * 经度\n */\n longitude: number;\n}\n\n/**\n * 坐标点类型\n * 支持对象格式 { latitude, longitude }\n * 或数组格式 [longitude, latitude] (GeoJSON 标准)\n * 注意:GeoJSON 标准允许数组包含更多元素(如海拔),但本组件只使用前两个\n */\nexport type LatLngPoint = LatLng | [number, number] | number[];\n\n/**\n * 地图标注点(POI)\n */\nexport interface MapPoi {\n /**\n * 标注点 ID\n */\n id: string;\n\n /**\n * 标注点名称\n */\n name: string;\n\n /**\n * 标注点坐标\n */\n position: LatLng;\n}\n\n/**\n * 矩形坐标边界\n */\nexport interface LatLngBounds {\n /**\n * 西南坐标\n */\n southwest: LatLng;\n\n /**\n * 东北坐标\n */\n northeast: LatLng;\n}\n\n/**\n * 地图相机位置\n */\nexport interface CameraPosition {\n /**\n * 中心坐标\n */\n target?: LatLng;\n\n /**\n * 缩放级别(3-20)\n */\n zoom?: number;\n\n /**\n * 朝向、旋转角度(0-360度)\n */\n bearing?: number;\n\n /**\n * 倾斜角度(0-60度)\n */\n tilt?: number;\n}\n\n/**\n * 地图相机更新参数\n *\n * 与 `CameraPosition` 不同,这个类型用于描述“局部更新”:\n * 你可以只传 `zoom`、只传 `target`,或组合传入需要变更的字段。\n */\nexport interface CameraUpdate {\n /**\n * 中心坐标\n */\n target?: LatLng;\n\n /**\n * 缩放级别(3-20)\n */\n zoom?: number;\n\n /**\n * 朝向、旋转角度(0-360度)\n */\n bearing?: number;\n\n /**\n * 倾斜角度(0-60度)\n */\n tilt?: number;\n}\n\n/**\n * 地图类型\n */\nexport enum MapType {\n /**\n * 标准地图\n */\n Standard = 1,\n\n /**\n * 卫星地图\n */\n Satellite = 2,\n\n /**\n * 夜间地图\n */\n Night = 3,\n\n /**\n * 导航地图\n */\n Navi = 4,\n\n /**\n * 公交地图\n * @platform android\n */\n Bus = 5,\n}\n\n/**\n * 颜色值类型\n * 支持:\n * - 十六进制字符串: '#AARRGGBB' 或 '#RRGGBB'\n * - 数字格式: 0xAARRGGBB (用于 Android)\n */\nexport type ColorValue = string | number;\n"]}
1
+ {"version":3,"file":"common.types.js","sourceRoot":"","sources":["../../src/types/common.types.ts"],"names":[],"mappings":"AA8LA;;GAEG;AACH,MAAM,CAAN,IAAY,OA0BX;AA1BD,WAAY,OAAO;IACjB;;OAEG;IACH,6CAAY,CAAA;IAEZ;;OAEG;IACH,+CAAa,CAAA;IAEb;;OAEG;IACH,uCAAS,CAAA;IAET;;OAEG;IACH,qCAAQ,CAAA;IAER;;;OAGG;IACH,mCAAO,CAAA;AACT,CAAC,EA1BW,OAAO,KAAP,OAAO,QA0BlB","sourcesContent":["/**\n * 高德地图通用类型定义\n * 基于 Expo Modules API\n */\nimport { PermissionResponse } from 'expo-modules-core';\n\n/**\n * SDK 配置参数\n */\nexport interface SDKConfig {\n /** Android 平台的高德地图 API Key */\n androidKey?: string;\n /** iOS 平台的高德地图 API Key */\n iosKey?: string;\n /** web api key 如果要使用expo-gaode-map-web-api相关的功能,需要配置web api key*/\n webKey?: string;\n}\n\n/**\n * 隐私同意配置\n * 推荐优先使用该配置对象一次性完成隐私状态同步\n */\nexport interface PrivacyConfig {\n /** 是否已经向用户展示隐私弹窗或隐私说明 */\n hasShow: boolean;\n /** 展示内容中是否包含隐私政策条款 */\n hasContainsPrivacy: boolean;\n /** 用户是否已经同意隐私政策 */\n hasAgree: boolean;\n /** 可选的隐私协议版本号;变更后会要求重新同意 */\n privacyVersion?: string;\n}\n/**\n * 隐私政策状态\n */\nexport interface PrivacyStatus {\n hasShow: boolean;\n hasContainsPrivacy: boolean;\n hasAgree: boolean;\n isReady: boolean;\n privacyVersion?: string | null;\n agreedPrivacyVersion?: string | null;\n restoredFromStorage?: boolean;\n}\n\n/**\n * 权限状态(增强版,支持 Android 14+ 和 iOS 17+)\n */\nexport interface PermissionStatus extends PermissionResponse{\n /** 是否已授权(前台位置权限) */\n granted: boolean;\n \n // Android 专用字段\n /** Android 精确位置权限 */\n fineLocation?: boolean;\n /** Android 粗略位置权限 */\n coarseLocation?: boolean;\n /** Android 后台位置权限(Android 10+) */\n backgroundLocation?: boolean;\n /** 是否应显示权限说明(Android) */\n shouldShowRationale?: boolean;\n /** 权限是否被永久拒绝(Android) */\n isPermanentlyDenied?: boolean;\n /** 是否为 Android 14+(Android) */\n isAndroid14Plus?: boolean;\n \n // 其他字段\n /** 额外的消息说明 */\n message?: string;\n}\n\n/**\n * 点坐标(屏幕坐标)\n */\nexport interface Point {\n x: number;\n y: number;\n}\n\n/**\n * 地理坐标\n */\nexport interface LatLng {\n /**\n * 纬度\n */\n latitude: number;\n\n /**\n * 经度\n */\n longitude: number;\n}\n\n/**\n * 坐标点类型\n * 支持对象格式 { latitude, longitude }\n * 或数组格式 [longitude, latitude] (GeoJSON 标准)\n * 注意:GeoJSON 标准允许数组包含更多元素(如海拔),但本组件只使用前两个\n */\nexport type LatLngPoint = LatLng | [number, number] | number[];\n\n/**\n * 地图标注点(POI)\n */\nexport interface MapPoi {\n /**\n * 标注点 ID\n */\n id: string;\n\n /**\n * 标注点名称\n */\n name: string;\n\n /**\n * 标注点坐标\n */\n position: LatLng;\n}\n\n/**\n * 矩形坐标边界\n */\nexport interface LatLngBounds {\n /**\n * 西南坐标\n */\n southwest: LatLng;\n\n /**\n * 东北坐标\n */\n northeast: LatLng;\n}\n\n/**\n * 地图相机位置\n */\nexport interface CameraPosition {\n /**\n * 中心坐标\n */\n target?: LatLng;\n\n /**\n * 缩放级别(3-20)\n */\n zoom?: number;\n\n /**\n * 朝向、旋转角度(0-360度)\n */\n bearing?: number;\n\n /**\n * 倾斜角度(0-60度)\n */\n tilt?: number;\n}\n\n/**\n * 地图相机更新参数\n *\n * 与 `CameraPosition` 不同,这个类型用于描述“局部更新”:\n * 你可以只传 `zoom`、只传 `target`,或组合传入需要变更的字段。\n */\nexport interface CameraUpdate {\n /**\n * 中心坐标\n */\n target?: LatLng;\n\n /**\n * 缩放级别(3-20)\n */\n zoom?: number;\n\n /**\n * 朝向、旋转角度(0-360度)\n */\n bearing?: number;\n\n /**\n * 倾斜角度(0-60度)\n */\n tilt?: number;\n}\n\n/**\n * 地图类型\n */\nexport enum MapType {\n /**\n * 标准地图\n */\n Standard = 0,\n\n /**\n * 卫星地图\n */\n Satellite = 1,\n\n /**\n * 夜间地图\n */\n Night = 2,\n\n /**\n * 导航地图\n */\n Navi = 3,\n\n /**\n * 公交地图\n * @platform android\n */\n Bus = 4,\n}\n\n/**\n * 颜色值类型\n * 支持:\n * - 十六进制字符串: '#AARRGGBB' 或 '#RRGGBB'\n * - 数字格式: 0xAARRGGBB (用于 Android)\n */\nexport type ColorValue = string | number;\n"]}
@@ -16,8 +16,8 @@ import QuartzCore
16
16
  class ExpoGaodeMapView: ExpoView, MAMapViewDelegate, UIGestureRecognizerDelegate {
17
17
  // MARK: - 属性
18
18
 
19
- /// 地图类型 (1:标准 2:卫星 3:夜间 4:导航 5:公交)
20
- var mapType: Int = 1
19
+ /// 地图类型 (0:标准 1:卫星 2:夜间 3:导航)
20
+ var mapType: Int = 0
21
21
  /// 初始相机位置
22
22
  var initialCameraPosition: [String: Any]?
23
23
  /// 是否显示缩放控件
@@ -356,7 +356,7 @@ class ExpoGaodeMapView: ExpoView, MAMapViewDelegate, UIGestureRecognizerDelegate
356
356
  return
357
357
  }
358
358
 
359
- uiManager.setMapType(1)
359
+ uiManager.setMapType(0)
360
360
  uiManager.setShowsScale(showsScale)
361
361
  uiManager.setShowsCompass(showsCompass)
362
362
  uiManager.setZoomEnabled(isZoomEnabled)
@@ -413,20 +413,17 @@ class ExpoGaodeMapView: ExpoView, MAMapViewDelegate, UIGestureRecognizerDelegate
413
413
  */
414
414
  private func updateAppleMapStyle() {
415
415
  switch mapType {
416
- case 2: // 卫星
416
+ case 1: // 卫星
417
417
  appleMapView.mapType = .satellite
418
418
  appleMapView.overrideUserInterfaceStyle = .unspecified
419
- case 3: // 夜间
419
+ case 2: // 夜间
420
420
  // 苹果地图没有专门的夜间模式枚举,通过强制 Dark Mode 实现
421
421
  appleMapView.mapType = .standard
422
422
  appleMapView.overrideUserInterfaceStyle = .dark
423
- case 4: // 导航
423
+ case 3: // 导航
424
424
  appleMapView.mapType = .standard
425
425
  appleMapView.overrideUserInterfaceStyle = .unspecified
426
- case 5: // 公交
427
- appleMapView.mapType = .standard
428
- appleMapView.overrideUserInterfaceStyle = .unspecified
429
- default: // 标准 (1,兼容旧值 0)
426
+ default: // 标准 (0)
430
427
  appleMapView.mapType = .standard
431
428
  // 标准模式下跟随系统,如果系统是深色则显示深色,否则浅色
432
429
  appleMapView.overrideUserInterfaceStyle = .unspecified
@@ -2,6 +2,14 @@ import ExpoModulesCore
2
2
  import MAMapKit
3
3
  import CoreLocation
4
4
 
5
+ enum MapType: Int, Enumerable {
6
+ case standard = 0
7
+ case satellite = 1
8
+ case night = 2
9
+ case navi = 3
10
+ case bus = 4
11
+ }
12
+
5
13
  /**
6
14
  * 高德地图视图 Module
7
15
  */
@@ -12,8 +20,8 @@ public class ExpoGaodeMapViewModule: Module {
12
20
  View(ExpoGaodeMapView.self) {
13
21
  Events("onMapPress", "onPressPoi", "onMapLongPress", "onLoad", "onLocation", "onCameraMove", "onCameraIdle")
14
22
 
15
- Prop("mapType") { (view: ExpoGaodeMapView, type: Int) in
16
- view.mapType = type
23
+ Prop("mapType") { (view: ExpoGaodeMapView, type: MapType) in
24
+ view.mapType = type.rawValue
17
25
  }
18
26
 
19
27
  Prop("initialCameraPosition") { (view: ExpoGaodeMapView, position: [String: Any]?) in
@@ -29,15 +29,14 @@ class UIManager: NSObject, MAMapViewDelegate {
29
29
 
30
30
  /**
31
31
  * 设置地图类型
32
- * @param type 1:标准 2:卫星 3:夜间 4:导航 5:公交
32
+ * @param type 0:标准 1:卫星 2:夜间 3:导航
33
33
  */
34
34
  func setMapType(_ type: Int) {
35
35
  guard let mapView = mapView else { return }
36
36
  switch type {
37
- case 2: mapView.mapType = .satellite
38
- case 3: mapView.mapType = .standardNight
39
- case 4: mapView.mapType = .navi
40
- case 5: mapView.mapType = .bus
37
+ case 1: mapView.mapType = .satellite
38
+ case 2: mapView.mapType = .standardNight
39
+ case 3: mapView.mapType = .navi
41
40
  default: mapView.mapType = .standard
42
41
  }
43
42
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-gaode-map",
3
- "version": "2.2.30",
3
+ "version": "2.2.31-next.1",
4
4
  "description": "A full-featured AMap (Gaode Map) React Native component library built with Expo Modules, providing map display, location services, overlays, and more.",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",