Capacitor Geolocation Caching Position

Every time I use the Geolocation to auto locate the device, it always returns the old position that was located the first time Geolocation was used. It seems to be a caching problem.

    options = {
      enableHighAccuracy: true,
      timeout: 5000,
      maximumAge: 0

    public locateUser() {

      this.isLoading = true;
        .then(geoPosition => {
          const coordinates: Coordinates = {
            lat: geoPosition.coords.latitude,
            lng: geoPosition.coords.longitude
          this.returnUserLocation(, coordinates.lng);
          this.isLoading = false;
          console.log( , coordinates.lng); // Always prints the same coordinates
        .catch(err => {
          this.isLoading = false;


Looks like you might have a race condition. I believe the call to get the current coordinates has not yet resolved before you pass them into your function.