81 lines
1.8 KiB
TypeScript
81 lines
1.8 KiB
TypeScript
import type { PluginListenerHandle } from '@capacitor/core';
|
|
|
|
// export interface SatelliteStatus {
|
|
// satellitesInView: number;
|
|
// usedInFix: number;
|
|
// constellationCounts: { [key: string]: number };
|
|
// }
|
|
|
|
// export interface WifiAp {
|
|
// ssid: string;
|
|
// bssid: string;
|
|
// rssi: number;
|
|
// distance?: number;
|
|
// }
|
|
|
|
// export interface WifiScanResult {
|
|
// apCount: number;
|
|
// aps: WifiAp[];
|
|
// }
|
|
|
|
// export interface ImuData {
|
|
// accelX: number;
|
|
// accelY: number;
|
|
// accelZ: number;
|
|
// gyroX: number;
|
|
// gyroY: number;
|
|
// gyroZ: number;
|
|
// speed?: number;
|
|
// acceleration?: number;
|
|
// directionRad?: number;
|
|
// }
|
|
|
|
// export interface GpsData {
|
|
// latitude: number;
|
|
// longitude: number;
|
|
// accuracy: number;
|
|
// satellitesInView?: number;
|
|
// usedInFix?: number;
|
|
// constellationCounts?: { [key: string]: number };
|
|
// }
|
|
|
|
// export interface PositioningData {
|
|
// source: 'GNSS' | 'WIFI' | 'FUSED' | 'MOCK';
|
|
// timestamp: number;
|
|
// latitude: number;
|
|
// longitude: number;
|
|
// accuracy: number;
|
|
|
|
// gnssData?: SatelliteStatus;
|
|
// wifiData?: WifiAp[];
|
|
// imuData?: ImuData;
|
|
// }
|
|
|
|
export interface PositioningData {
|
|
source: 'GNSS' | 'WIFI' | 'FUSED' | 'MOCK';
|
|
timestamp: number;
|
|
latitude: number;
|
|
longitude: number;
|
|
accuracy: number;
|
|
speed: number;
|
|
acceleration: number;
|
|
directionRad: number;
|
|
isMocked: boolean;
|
|
}
|
|
|
|
export interface PermissionStatus {
|
|
location: 'granted' | 'denied' | 'prompt';
|
|
wifi: 'granted' | 'denied' | 'prompt';
|
|
}
|
|
|
|
export interface DumonGeolocationPlugin {
|
|
startPositioning(): Promise<void>;
|
|
stopPositioning(): Promise<void>;
|
|
getLatestPosition(): Promise<PositioningData>;
|
|
checkAndRequestPermissions(): Promise<PermissionStatus>;
|
|
|
|
addListener(
|
|
eventName: 'onPositionUpdate',
|
|
listenerFunc: (data: PositioningData) => void
|
|
): PluginListenerHandle;
|
|
} |