capacitor-plugins icon indicating copy to clipboard operation
capacitor-plugins copied to clipboard

[Geolocation / Android] The GPS position is only updated every 5 seconds when using "watchPosition" function on Android

Open carelliguillaume opened this issue 1 year ago • 1 comments
trafficstars

Bug Report

Plugin(s)

Geolocation

Capacitor Version

💊 Capacitor Doctor 💊

Latest Dependencies:

@capacitor/cli: 5.7.3 @capacitor/core: 5.7.3 @capacitor/android: 5.7.3 @capacitor/ios: 5.7.3

Installed Dependencies:

@capacitor/cli: 5.5.1 @capacitor/core: 5.5.1 @capacitor/android: 5.5.1 @capacitor/ios: 5.5.1

[success] iOS looking great! 👌 [success] Android looking great! 👌

Platform(s)

Android

Current Behavior

When you use "watchPosition" function of the Geolocation Plugin on Android, the GPS position is only updated every 5 seconds which is not sufficient for position tracking. The refresh on Android is jerky compared to iOS which is much smoother. Moreover, its hardcoded in the following class when calling method setMinUpdateIntervalMillis : https://github.com/ionic-team/capacitor-plugins/blob/main/geolocation/android/src/main/java/com/capacitorjs/plugins/geolocation/Geolocation.java

  LocationRequest locationRequest = new LocationRequest.Builder(10000)
      .setMaxUpdateDelayMillis(timeout)
      .setMinUpdateIntervalMillis(5000)
      .setPriority(priority)
      .build();

Expected Behavior

We should be able to configure the setMinUpdateIntervalMillis to have more accurate position tracking on Android. We should have a parameter like the "timeout" parameter used in the setMaxUpdateDelayMillis call. At least we should be able to remove the setMinUpdateIntervalMillis call to let Android manage the refreshing automatically like iOS Geolocation Plugin.

Code Reproduction

Just call the "watchPosition" of the Geolocation Plugin on Android

carelliguillaume avatar Mar 20 '24 14:03 carelliguillaume

This issue has been labeled as type: bug. This label is added to issues that that have been reproduced and are being tracked in our internal issue tracker.

ionitron-bot[bot] avatar Apr 09 '24 15:04 ionitron-bot[bot]