import 'package:comunes_flutter/comunes_flutter.dart'; import 'package:flutter/material.dart'; import 'package:flutter_map/flutter_map.dart'; import 'package:latlong2/latlong.dart'; /// Zoom control widget for flutter_map v6+ class ZoomMapPluginWidget extends StatelessWidget { const ZoomMapPluginWidget({super.key}); @override Widget build(BuildContext context) { return LayoutBuilder( builder: (BuildContext context, BoxConstraints constraints) => Stack(fit: StackFit.expand, children: [ Positioned( top: constraints.maxHeight - 100, right: 10.0, child: CenteredRow( children: [ Column( children: [ _zoomButton(context, Icons.zoom_in, 1), _zoomButton(context, Icons.zoom_out, -1) ], ) ], ), ) ])); } IconButton _zoomButton(BuildContext context, IconData zoomIcon, int inc) { return IconButton( icon: Icon(zoomIcon), onPressed: () { final MapController controller = MapController.of(context); final double currentZoom = controller.camera.zoom; final LatLng currentCenter = controller.camera.center; controller.move(currentCenter, currentZoom + inc); }); } }