undid unwanted changes

This commit is contained in:
2025-01-29 13:47:53 +01:00
parent 7b7e3e9fe0
commit c4007e2982

View File

@@ -20,22 +20,36 @@ class MapPage extends StatefulWidget {
} }
class _MapPageState extends State<MapPage> { class _MapPageState extends State<MapPage> {
final mapController = MapController(); final _mapController = MapController();
late FloodStationProvider _floodStationProvider; late FloodStationProvider _floodStationProvider;
bool _loading = false;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
_floodStationProvider = context.watch<FloodStationProvider>(); _floodStationProvider = context.watch<FloodStationProvider>();
if (_floodStationProvider.allStations.isEmpty) { if (_loading == true) {
return Center(
child: CircularProgressIndicator(),
);
} else if (_floodStationProvider.allStations.isEmpty) {
return Center( return Center(
child: ElevatedButton( child: ElevatedButton(
onPressed: _floodStationProvider.loadAllStations, onPressed: () {
setState(() {
_loading = true;
});
_floodStationProvider
.loadAllStations()
.whenComplete(() => setState(() {
_loading = false;
}));
},
child: Text('Load Map'), child: Text('Load Map'),
), ),
); );
} }
return FlutterMap( return FlutterMap(
mapController: mapController, mapController: _mapController,
options: MapOptions( options: MapOptions(
cameraConstraint: CameraConstraint.containCenter( cameraConstraint: CameraConstraint.containCenter(
bounds: LatLngBounds.fromPoints(_floodStationProvider.allStations bounds: LatLngBounds.fromPoints(_floodStationProvider.allStations
@@ -56,13 +70,14 @@ class _MapPageState extends State<MapPage> {
padding: EdgeInsets.all(50), padding: EdgeInsets.all(50),
maxZoom: 15, maxZoom: 15,
markers: _stationsAsMarkers(_floodStationProvider.allStations), markers: _stationsAsMarkers(_floodStationProvider.allStations),
builder: _markerBuilder), builder: _clusterMarkerBuilder),
) )
], ],
); );
} }
Widget _markerBuilder(BuildContext context, List<Marker> markers) { // builds the clustered marker
Widget _clusterMarkerBuilder(BuildContext context, List<Marker> markers) {
return Container( return Container(
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20), borderRadius: BorderRadius.circular(20),
@@ -71,7 +86,7 @@ class _MapPageState extends State<MapPage> {
child: Center( child: Center(
child: Text( child: Text(
markers.length.toString(), markers.length.toString(),
style: const TextStyle(color: Colors.white), style: TextStyle(color: Theme.of(context).colorScheme.onTertiary),
), ),
), ),
); );
@@ -92,7 +107,7 @@ class _MapPageState extends State<MapPage> {
.toList(); .toList();
} }
_markerTapped(FloodStation station) { void _markerTapped(FloodStation station) {
showDialog( showDialog(
context: context, context: context,
builder: (context) => MapPopup( builder: (context) => MapPopup(