undid unwanted changes
This commit is contained in:
@@ -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(
|
||||||
|
|||||||
Reference in New Issue
Block a user