@Nikolay I think I finally have a clue as to what might be the likely cause of the difference in accuracy. I observed the following on my device (Tecno Carmon CX):
- Under Settings -> Location -> Mode, there are 3 options:
- High Accuracy (Use GPS, Wi-Fi, Bluetooth, or cellular networks to determine location)
- Battery Saving (Use Wi-Fi, Bluetooth, or cellular networks to determine location)
- Device only (Use GPS to determine location)
When the app sends an enable location request, I get a prompt - "To continue, let your device turn on location, which uses Google's location service...." This selects the first option (High Accuracy) among the 3 options stated above. However, it seems that with this option on my device, the Geolocation plugin isn't using the device GPS to determine the location as expected (the documentation states that it would use the most accurate location provider that is available).
When I attempt to change the Settings -> Location -> Mode option to either "Battery Saving" or "Device only", the app keeps giving the initial prompt to turn on location which sets the option back to "High Accuracy". The issue seems to be that with this option, the Geolocation plugin doesn't use the device GPS to determine the location. How? I discovered this to be so by manually changing the Settings -> Location -> Mode option to "Battery Saving" which would use Wi-Fi, Bluetooth, or cellular networks to determine location. With this option, on the Google Map android app the current location marker (blue indicator) is exactly the same as the inaccurate position returned by the Geolocation plugin. However, when I change the option to "Device only" which would use GPS to determine location, the Google Map android app returns an accurate location.
Is there a way to ensure that the Geolocation plugin only uses the device GPS to determine the location and returns say a NULL location otherwise OR is there a way to make the Geolocation plugin accept other location options on my device - e.g "Device only"?