ionic4 – No puedo obtener latitud y longitud después de encender GPS

Mi aplicación Ionic 4 muestra un mapa con rutas, desde la ubicación de mi móvil hasta cualquier ubicación, elegida antes.

Cuando el GPS está encendido al iniciar la aplicación (en app.component.ts), recupera correctamente la latitud y la longitud, y dibuja el mapa.

Cuando el GPS está apagado, la aplicación le pide al usuario que lo encienda (ver código adicional por favor).

Cuando el usuario enciende el GPS, no obtengo la latitud y la longitud con la función “getLocationCoordinates” (ver código por favor). Aparecen como undefined. ESTE es mi error, por lo que pido ayuda por favor.

Adjunto el código, muchas gracias!

getLocationCoordinates() {
    this.geolocation.getCurrentPosition({ enableHighAccuracy: true, maximumAge: 20000, timeout: 120000 }).then((resp) => {
      this.global.origin = { lat: resp.coords.latitude, lng: resp.coords.longitude };
      this.global.latitude = resp.coords.latitude;
      this.global.longitude = resp.coords.longitude;
      alert("Go!"); //never shown when user turns GPS on
    }).catch((error) => {
      this.presentAlertNoGPS();
});

código adicional, en app.component.ts:

checkGPSPermission() {
    this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION).then(
      result => {
        if (result.hasPermission) {
          //If having permission show 'Turn On GPS' dialogue
          this.askToTurnOnGPS();
        } else {
          //If not having permission ask for permission
          this.requestGPSPermission();
        }
      },
      err => {
        alert(err);
      }
    );
  }
  requestGPSPermission() {
    this.locationAccuracy.canRequest().then((canRequest: boolean) => {
      if (canRequest) {
      } else {
        //Show 'GPS Permission Request' dialogue
        this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION)
          .then(
            () => {
              // call method to turn on GPS
              this.askToTurnOnGPS();
            },
            error => {
              //Show alert if user click on 'No Thanks'
              this.presentAlertNoGPS();
            }
          );
      }
    });
  }
  askToTurnOnGPS() {
    this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(
      () => {
        // When GPS Turned ON call method to get Accurate location coordinates
        this.getLocationCoordinates()
      },
      error => {
        this.presentAlertNoGPS();
      }
      alert('Error requesting location permissions ' + JSON.stringify(error))
    );
  }