es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Flutter – “Geolocator.getCurrentPosition” nunca devuelve una posición.

Estoy trabajando con la API de Google Maps en Flutter y Geolocator.getCurrentPosition nunca devuelve nada. Este es mi código (tomado principalmente de Flutter Projects de Simone Alessandria y algunos cambios tomados de la web intentando solucionar este problema)

Future _getCurrentLocation() async {
    bool isGeolocationAvailable = await Geolocator.isLocationServiceEnabled();
    if (isGeolocationAvailable) {
      try {
          Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.best, timeLimit: Duration(seconds: 10)).then((pos) {
          setPosition(pos);
        });
      } catch (error) {
        print(error.toString());
        Geolocator.getLastKnownPosition().then((pos) {
          setPosition(pos);
        });
      }
    }
    return null;
  }

Como mencioné antes, Geolocator.getCurrentPosition nunca devuelve nada, al menos con el límite de tiempo estoy obteniendo una excepción.

Aquí está mi Flutter doctor por si acaso:

Resumen del estado de doctor (para ver todos los detalles, ejecute flutter doctor -v):
[✓] Flutter (Canal estable, 2.5.1, en Ubuntu 20.04.3 LTS 5.11.0-38-generic, locale en_US.UTF-8)
[✓] Herramientas de desarrollo de Android (versión 31.0.0)
[✓] Chrome - desarrollar para la Web
[✓] Android Studio (versión 2021.1)
[✓] Android Studio (versión 4.1)
[✓] VS Code
[✓] Dispositivo conectado (1 disponible)

• No se encontraron problemas.

Y las versiones

environment:
  sdk: ">=2.14.2 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  http: ^0.13.3
  googlemapsflutter: ^2.0.10
  permission_handler: ^8.1.6
  geolocator: ^7.7.0

Estoy corriendo en el emulador de Pixel.

¡Gracias!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que está teniendo problemas para obtener un valor del método Geolocator.getCurrentPosition(). Ha proporcionado información sobre su doctor y versión de Flutter, lo cual es útil.

    Es posible que el problema esté relacionado con el emulador que está utilizando. ¿Ha intentado ejecutar el código en un dispositivo físico? Si no, puede valer la pena intentarlo para ver si el problema persiste.

    También es posible que el problema esté relacionado con el parámetro timeLimit que está utilizando. ¿Ha intentado eliminar este parámetro para ver si el problema persiste?

    Por último, puede valer la pena revisar la documentación de Geolocator para ver si hay algún otro parámetro que pueda estar causando el problema.

    Si ninguna de estas sugerencias ayuda, puede valer la pena publicar su pregunta en Stack Overflow o el canal de Flutter Gitter para obtener más ayuda.

Comments are closed.