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 mapa OSM: no se pueden ver los marcadores en la posición del usuario

Estoy experimentando con el complemento de mapa OSM en Flutter. Seguí los ejemplos en el repositorio oficial de Github y funciona correctamente, pero no puedo ver los marcadores en la posición del usuario. La ubicación se actualiza correctamente cuando cambia la posición del usuario, el mapa muestra la ubicación correcta.

Aquí está mi código:

class MapScreenWidget extends StatefulWidget {
  MapScreenWidget({Key? key}) : super(key: key);

  @override
  State<statefulwidget> createState() => _MapState();
}

class _MapState extends State<mapscreenwidget> {
  late MapController controller;

  @override
  void initState() {
    super.initState();
    controller = MapController(
      initMapWithUserPosition: true,
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: appBar,
      body: Center(
        child: OSMFlutter(
          controller: controller,
          onLocationChanged: (GeoPoint point) {
            print('lat: ${point.latitude}, lon: ${point.longitude}');
          },
          trackMyPosition: true,
          initZoom: 16,
          minZoomLevel: 6,
          maxZoomLevel: 19,
          stepZoom: 1.0,
          userLocationMarker: UserLocationMaker(
            personMarker: MarkerIcon(
              icon: Icon(
                Icons.location_history_rounded,
                color: Colors.red,
                size: 48,
              ),
            ),
            directionArrowMarker: MarkerIcon(
              icon: Icon(
                Icons.double_arrow,
                size: 48,
              ),
            ),
          ),
          markerOption: MarkerOption(
            defaultMarker: MarkerIcon(
              icon: Icon(
                Icons.person_pin_circle,
                color: Colors.blue,
                size: 56,
              ),
            ),
          ),
        ),
      ),
    );
  }
}

Entorno:
– flutter: 2.8.1
– dart: 2.12
– flutter_osm_map: 0.26.1
– probado en Android API 29 y 30

Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el código proporcionado se ve correcto para mostrar la ubicación del usuario en el mapa utilizando el complemento de mapa OSM de Flutter. Sin embargo, podría haber algunos problemas con la configuración del marcador de ubicación del usuario.

    Aquí hay algunas sugerencias para asegurarse de que el marcador de ubicación del usuario se muestre correctamente:

    1. Asegúrese de que la propiedad userLocationMarker esté correctamente configurada con el widget UserLocationMaker en el widget OSMFlutter.
    2. Verifique que el widget UserLocationMaker haya definido las propiedades personMarker y directionArrowMarker, tal como aparece en el código proporcionado.

    3. Verifique que el permiso de geolocalización esté configurado correctamente en el archivo AndroidManifest.xml, ya que el complemento depende de este permiso para acceder a la ubicación del dispositivo.

    4. Verifique que los servicios de ubicación estén activados en la configuración del dispositivo, ya que el complemento requiere acceso a los servicios de ubicación para funcionar correctamente.

    5. Si ninguna de las soluciones anteriores funciona para usted, intente visitar la sección de problemas en la página oficial de GitHub o los foros de la comunidad de Flutter para obtener más ayuda con este problema.

    ¡Espero que esto sea de ayuda!

Comments are closed.