dumon-geolocation
Plugin Capacitor Android untuk positioning real-time berbasis GNSS multi-konstelasi, Wi-Fi RTT/RSSI, dan IMU (Accelerometer + Gyroscope), dilengkapi dengan sensor fusion (Kalman Filter) dan deteksi lokasi palsu.
📦 Install
npm install dumon-geolocation
npx cap sync
🚀 API
📡 startPositioning()
startPositioning() => Promise<void>
Memulai pengambilan data posisi secara real-time dari GNSS, Wi-Fi, dan IMU.
🛑 stopPositioning()
stopPositioning() => Promise<void>
Menghentikan semua sensor dan positioning.
📍 getLatestPosition()
getLatestPosition() => Promise<PositioningData>
Mengembalikan data posisi terkini yang telah difusi.
🔄 addListener('onPositionUpdate', ...)
addListener(eventName: 'onPositionUpdate', listenerFunc: (data: PositioningData) => void): PluginListenerHandle
Listener untuk update posisi secara berkala (real-time).
🧾 Interfaces
PositioningData
interface PositioningData {
source: 'GNSS' | 'WIFI' | 'FUSED' | 'MOCK';
latitude: number;
longitude: number;
accuracy: number;
speed: number;
acceleration: number;
directionRad: number;
timestamp: number;
isMocked: boolean;
// Optional raw sensor data (available internally)
// imuData?: ImuData;
// gnssData?: SatelliteStatus;
// wifiData?: WifiAp[];
}
ImuData
interface ImuData {
accelX: number;
accelY: number;
accelZ: number;
gyroX: number;
gyroY: number;
gyroZ: number;
speed: number;
acceleration: number;
directionRad: number;
}
SatelliteStatus
interface SatelliteStatus {
satellitesInView: number;
usedInFix: number;
constellationCounts: { [key: string]: number };
}
WifiAp
interface WifiAp {
ssid: string;
bssid: string;
rssi: number;
distance?: number;
}
PluginListenerHandle
interface PluginListenerHandle {
remove: () => Promise<void>;
}
ℹ️ Catatan
- Plugin hanya mendukung platform Android saat ini.
- Ideal digunakan bersama dengan plugin
Geolocationbawaan Capacitor untuk fallback atau perbandingan. - Sensor fusion berbasis Kalman Filter (versi sederhana).
directionRadmerujuk arah dalam radian relatif terhadap utara (azimuth).- Output
isMockedberguna untuk deteksi lokasi palsu.
Lisensi: MIT – Dibuat oleh Tim Dumon
Description
Languages
Kotlin
81.3%
TypeScript
7.6%
JavaScript
6.5%
HTML
2.3%
Swift
1.4%
Other
0.9%