getCurrentPositionAsync() returns location which is far from actual location

I am using Location.getCurrentPositionAsync() with accuracy 6 to get the accurate location. But when I try to ge the current location I am getting the location which is almost 1KM or sometimes more than 1KM far from current location. And this is happening frequently. If we think getCurrentPositionAsync() is giving cached location , But I have never been to that location.

(This issue is raised in Android devices only)

The above screen is a reference to show the difference between actual location and fetched location.

  1. Does Location.getCurrentPositionAsync() uses Google Maps or Apple Maps to fetch location? if so why the Fetched Location and Actual Location are different(Please check above attached screen)?
  2. If Location.getCurrentPositionAsync() doesn’t use the Google Maps or Apple Maps , Then May I know how location fetching process is happening?
  3. Are there any chances that Location.getCurrentPositionAsync() returns cached location even though accuracy is set to 6 ?