updated 141025-01

This commit is contained in:
wengki81 2025-10-14 21:34:17 +08:00
parent 06f20c7134
commit 120b2a4ee7
5 changed files with 11 additions and 0 deletions

View File

@ -167,6 +167,7 @@ interface PositioningData {
acceleration: number;
directionRad: number;
isMocked: boolean;
mode: 'normal' | 'driving';
predicted?: boolean;
}
```

View File

@ -535,6 +535,7 @@ class DumonGeolocation : Plugin() {
put("longitude", fix.longitude)
put("accuracy", fix.accuracy)
put("isMocked", fix.isMocked)
put("mode", "normal")
put("speed", fix.speed)
put("acceleration", fix.acceleration)
put("directionRad", fix.directionRad)
@ -737,6 +738,7 @@ class DumonGeolocation : Plugin() {
obj.put("longitude", outLon)
obj.put("accuracy", latestAccuracy)
obj.put("isMocked", isMockedLocation)
obj.put("mode", if (currentTrackingMode == GpsTrackingMode.DRIVING) "driving" else "normal")
// Always provide IMU-related fields to match TS definitions
val speedVal = latestImu?.speed ?: 0f

View File

@ -29,6 +29,7 @@ export interface PositioningData {
acceleration: number; // m/s^2 (magnitude IMU)
directionRad: number; // radian, relatif utara
isMocked: boolean; // lokasi terdeteksi palsu
mode: 'normal' | 'driving'; // mode tracking aktif saat emisi
predicted?: boolean; // true jika posisi diproyeksikan ke depan
}

View File

@ -61,6 +61,7 @@ export interface PositioningData {
acceleration: number;
directionRad: number;
isMocked: boolean;
mode: 'normal' | 'driving';
predicted?: boolean;
}

View File

@ -2,6 +2,7 @@ import { WebPlugin } from '@capacitor/core';
import type { PositioningData, DumonGeoOptions, SatelliteStatus } from './definitions';
export class DumonGeolocationWeb extends WebPlugin {
private _mode: 'normal' | 'driving' = 'normal';
async startPositioning(): Promise<void> {
console.log('DumonGeolocationWeb: startPositioning() called (no-op)');
}
@ -22,6 +23,7 @@ export class DumonGeolocationWeb extends WebPlugin {
acceleration: 0,
directionRad: 0,
isMocked: false,
mode: this._mode,
};
}
@ -49,6 +51,10 @@ export class DumonGeolocationWeb extends WebPlugin {
// No-op on web
}
async setGpsMode(options: { mode: 'normal' | 'driving' }): Promise<void> {
this._mode = options?.mode === 'driving' ? 'driving' : 'normal';
}
async getGnssStatus(): Promise<SatelliteStatus | null> {
return null;
}