/** * 高德地图通用类型定义 * 基于 Expo Modules API */ import { PermissionResponse } from 'expo-modules-core'; /** * SDK 配置参数 */ export interface SDKConfig { /** Android 平台的高德地图 API Key */ androidKey?: string; /** iOS 平台的高德地图 API Key */ iosKey?: string; /** web api key 如果要使用expo-gaode-map-web-api相关的功能,需要配置web api key*/ webKey?: string; } /** * 隐私同意配置 * 推荐优先使用该配置对象一次性完成隐私状态同步 */ export interface PrivacyConfig { /** 是否已经向用户展示隐私弹窗或隐私说明 */ hasShow: boolean; /** 展示内容中是否包含隐私政策条款 */ hasContainsPrivacy: boolean; /** 用户是否已经同意隐私政策 */ hasAgree: boolean; /** 可选的隐私协议版本号;变更后会要求重新同意 */ privacyVersion?: string; } /** * 隐私政策状态 */ export interface PrivacyStatus { hasShow: boolean; hasContainsPrivacy: boolean; hasAgree: boolean; isReady: boolean; privacyVersion?: string | null; agreedPrivacyVersion?: string | null; restoredFromStorage?: boolean; } /** * 权限状态(增强版,支持 Android 14+ 和 iOS 17+) */ export interface PermissionStatus extends PermissionResponse { /** 是否已授权(前台位置权限) */ granted: boolean; /** Android 精确位置权限 */ fineLocation?: boolean; /** Android 粗略位置权限 */ coarseLocation?: boolean; /** Android 后台位置权限(Android 10+) */ backgroundLocation?: boolean; /** 是否应显示权限说明(Android) */ shouldShowRationale?: boolean; /** 权限是否被永久拒绝(Android) */ isPermanentlyDenied?: boolean; /** 是否为 Android 14+(Android) */ isAndroid14Plus?: boolean; /** 额外的消息说明 */ message?: string; } /** * 点坐标(屏幕坐标) */ export interface Point { x: number; y: number; } /** * 地理坐标 */ export interface LatLng { /** * 纬度 */ latitude: number; /** * 经度 */ longitude: number; } /** * 坐标点类型 * 支持对象格式 { latitude, longitude } * 或数组格式 [longitude, latitude] (GeoJSON 标准) * 注意:GeoJSON 标准允许数组包含更多元素(如海拔),但本组件只使用前两个 */ export type LatLngPoint = LatLng | [number, number] | number[]; /** * 地图标注点(POI) */ export interface MapPoi { /** * 标注点 ID */ id: string; /** * 标注点名称 */ name: string; /** * 标注点坐标 */ position: LatLng; } /** * 矩形坐标边界 */ export interface LatLngBounds { /** * 西南坐标 */ southwest: LatLng; /** * 东北坐标 */ northeast: LatLng; } /** * 地图相机位置 */ export interface CameraPosition { /** * 中心坐标 */ target?: LatLng; /** * 缩放级别(3-20) */ zoom?: number; /** * 朝向、旋转角度(0-360度) */ bearing?: number; /** * 倾斜角度(0-60度) */ tilt?: number; } /** * 地图相机更新参数 * * 与 `CameraPosition` 不同,这个类型用于描述“局部更新”: * 你可以只传 `zoom`、只传 `target`,或组合传入需要变更的字段。 */ export interface CameraUpdate { /** * 中心坐标 */ target?: LatLng; /** * 缩放级别(3-20) */ zoom?: number; /** * 朝向、旋转角度(0-360度) */ bearing?: number; /** * 倾斜角度(0-60度) */ tilt?: number; } /** * 地图类型 */ export declare enum MapType { /** * 标准地图 */ Standard = 1, /** * 卫星地图 */ Satellite = 2, /** * 夜间地图 */ Night = 3, /** * 导航地图 */ Navi = 4, /** * 公交地图 * @platform android */ Bus = 5 } /** * 颜色值类型 * 支持: * - 十六进制字符串: '#AARRGGBB' 或 '#RRGGBB' * - 数字格式: 0xAARRGGBB (用于 Android) */ export type ColorValue = string | number; //# sourceMappingURL=common.types.d.ts.map