From 2396207efd53d5cd1478dff510f344de3b5d22ca Mon Sep 17 00:00:00 2001 From: Sara <sarasdj@stud.ntnu.no> Date: Mon, 19 Feb 2024 15:33:59 +0100 Subject: [PATCH] update: move map to separate file --- app/lib/pages/widgets/map_widget.dart | 33 +++------------------------ app/lib/pages/widgets/osm_map.dart | 9 ++++++-- 2 files changed, 10 insertions(+), 32 deletions(-) diff --git a/app/lib/pages/widgets/map_widget.dart b/app/lib/pages/widgets/map_widget.dart index 4379bbd6..5d5d154e 100644 --- a/app/lib/pages/widgets/map_widget.dart +++ b/app/lib/pages/widgets/map_widget.dart @@ -5,6 +5,7 @@ import 'package:flutter_map/flutter_map.dart'; import 'package:latlong2/latlong.dart'; import 'quick_view_chart.dart'; import 'stat_charts.dart'; +import 'osm_map.dart'; class MapContainerWidget extends StatefulWidget { final List<Measurement> markerList; @@ -36,40 +37,12 @@ class _MapContainerWidgetState extends State<MapContainerWidget> { const SizedBox(height: contPadding), ClipRRect( borderRadius: BorderRadius.circular(20), - child: Stack( // Stack quick view on top of map + child: Stack( // Stack of quick view, map layer, satellite layer, and buttons children: [ SizedBox( width: screenWidth * boxWidth, height: screenWidth * boxHeight, - child: FlutterMap( - options: MapOptions( - center: mapCenter, // From consts - zoom: 9.0, - ), - children: [ - TileLayer( // Map from OpenStreetMap - urlTemplate: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", - subdomains: const ['a', 'b', 'c'], - ), - PolygonLayer( // Map each element in markerList to Measurement object - polygons: widget.markerList.map((Measurement measurement) { - return Polygon( - points: measurement.cornerList.map((Corner corner) { - // Map corner coordinates to LatLng objects - return LatLng(corner.latitude, corner.longitude); - }).toList(), - /*onTap: () { - setState(() { - selectedMarker = measurement; - }); - },*/ - color: Colors.blue, - isFilled: true, - ); - }).toList(), - ) - ], - ), + child: OSMmap(markerList: widget.markerList), // OpenStreetMap layer ), Positioned( // Quick view box layered over map bottom: 10, diff --git a/app/lib/pages/widgets/osm_map.dart b/app/lib/pages/widgets/osm_map.dart index ff89b371..46174748 100644 --- a/app/lib/pages/widgets/osm_map.dart +++ b/app/lib/pages/widgets/osm_map.dart @@ -5,7 +5,12 @@ import 'package:flutter_map/flutter_map.dart'; import 'package:latlong2/latlong.dart'; class OSMmap extends StatelessWidget { - const OSMmap({super.key}); + final List<Measurement> markerList; + + const OSMmap({ + Key? key, + required this.markerList, + }) : super(key: key); @override Widget build(BuildContext context) { @@ -20,7 +25,7 @@ class OSMmap extends StatelessWidget { subdomains: const ['a', 'b', 'c'], ), PolygonLayer( // Map each element in markerList to Measurement object - polygons: widget.markerList.map((Measurement measurement) { + polygons: markerList.map((Measurement measurement) { return Polygon( points: measurement.cornerList.map((Corner corner) { // Map corner coordinates to LatLng objects -- GitLab