added comments and refactored code

This commit is contained in:
2025-01-28 22:36:23 +01:00
parent 6828a9a14b
commit 8f5ed07be9
12 changed files with 83 additions and 58 deletions

View File

@@ -20,7 +20,7 @@ class MapPage extends StatefulWidget {
}
class _MapPageState extends State<MapPage> {
final mapController = MapController();
final _mapController = MapController();
late FloodStationProvider _floodStationProvider;
@override
@@ -35,7 +35,7 @@ class _MapPageState extends State<MapPage> {
);
}
return FlutterMap(
mapController: mapController,
mapController: _mapController,
options: MapOptions(
cameraConstraint: CameraConstraint.containCenter(
bounds: LatLngBounds.fromPoints(_floodStationProvider.allStations
@@ -47,7 +47,7 @@ class _MapPageState extends State<MapPage> {
initialZoom: 6,
),
children: [
openStreetMapTileLayer,
_openStreetMapTileLayer,
MarkerClusterLayerWidget(
options: MarkerClusterLayerOptions(
maxClusterRadius: 45,
@@ -56,13 +56,14 @@ class _MapPageState extends State<MapPage> {
padding: EdgeInsets.all(50),
maxZoom: 15,
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(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
@@ -71,12 +72,13 @@ class _MapPageState extends State<MapPage> {
child: Center(
child: Text(
markers.length.toString(),
style: const TextStyle(color: Colors.white),
style: TextStyle(color: Theme.of(context).colorScheme.onTertiary),
),
),
);
}
// gets a list of markers from the list of all stations
List<Marker> _stationsAsMarkers(List<FloodStation> stations) {
return stations
.map<Marker>(
@@ -91,7 +93,7 @@ class _MapPageState extends State<MapPage> {
.toList();
}
_markerTapped(FloodStation station) {
void _markerTapped(FloodStation station) {
showDialog(
context: context,
builder: (context) => MapPopup(
@@ -104,7 +106,7 @@ class _MapPageState extends State<MapPage> {
}
}
TileLayer get openStreetMapTileLayer => TileLayer(
TileLayer get _openStreetMapTileLayer => TileLayer(
urlTemplate: 'https://tile.openstreetmap.org/{z}/{x}/{y}.png',
userAgentPackageName: 'dev.fleaflet.flutter_map.example',
tileProvider: CancellableNetworkTileProvider(),