6
votes

Personnalisez le bouton d'emplacement central dans Flutter Google Map

J'utilise google_maps_flutter: ^ 0.0.3 + 3

Comment supprimer le bouton carré par défaut pour centrer l'emplacement tout en conservant la position actuelle du point bleu?

Si ce n'est pas possible, comment le personnaliser?

 entrez la description de l'image ici


1 commentaires

Comment changer la position du "bouton" Ma position "?


3 Réponses :


0
votes

Dans l'état actuel des choses, ce n'est pas possible, la seule solution possible serait de concevoir votre interface utilisateur afin qu'elle la bloque.


0 commentaires

9
votes

Définissez les propriétés suivantes sur l'objet GoogleMap:

myLocationButtonEnabled: false,
myLocationEnabled: true,

Travaillez avec google_maps_flutter: ^ 0.5.13


0 commentaires

0
votes

J'ai résolu ce problème en ajoutant cette fonction

Align(
              alignment: Alignment.topRight,
              child: Container(
                height: 60,
                width: 60,
                padding: EdgeInsets.all(10.0),
                child: FloatingActionButton(
                  backgroundColor: Colors.white,
                  heroTag: 'recenterr',
                  onPressed: () {
                    setInitialLocation();
                  },
                  child: Icon(
                    Icons.my_location,
                    color: Colors.grey,
                  ),
                  shape: RoundedRectangleBorder(
                      borderRadius: BorderRadius.circular(10.0),
                      side: BorderSide(color: Color(0xFFECEDF1))),
                ),
              ),
            ),

et en ajoutant ce widget dans la pile sous googleMap:

 void setInitialLocation() async {
    currentLocation = await location.getLocation();
    destinationLocation = LOC.LocationData.fromMap({
      "latitude": currentLocation.latitude,
      "longitude": currentLocation.longitude
    });
    CameraPosition cPosition = CameraPosition(
      zoom: CAMERA_ZOOM,
      tilt: CAMERA_TILT,
      bearing: CAMERA_BEARING,
      target: LatLng(currentLocation.latitude, currentLocation.longitude),
    );
    final GoogleMapController controller = await _controller.future;
    controller
        .animateCamera(CameraUpdate.newCameraPosition(cPosition))
        .then((value) {
      setState(() {
        isCameraMoved = false;
      });
    });
  }


0 commentaires