From 93d62e1ddd17be5d1cb0776fd7459117e1566904 Mon Sep 17 00:00:00 2001
From: Sara <sarasdj@stud.ntnu.no>
Date: Mon, 19 Feb 2024 13:48:21 +0100
Subject: [PATCH] add: osm_map.dart and sat_layer.dart

---
 app/lib/pages/widgets/map_widget.dart |  5 ++--
 app/lib/pages/widgets/osm_map.dart    | 42 +++++++++++++++++++++++++++
 app/lib/pages/widgets/sat_layer.dart  |  0
 3 files changed, 44 insertions(+), 3 deletions(-)
 create mode 100644 app/lib/pages/widgets/osm_map.dart
 create mode 100644 app/lib/pages/widgets/sat_layer.dart

diff --git a/app/lib/pages/widgets/map_widget.dart b/app/lib/pages/widgets/map_widget.dart
index b8708dc6..4379bbd6 100644
--- a/app/lib/pages/widgets/map_widget.dart
+++ b/app/lib/pages/widgets/map_widget.dart
@@ -3,7 +3,6 @@ import '../marker_handler/marker_data.dart';
 import '../consts.dart';
 import 'package:flutter_map/flutter_map.dart';
 import 'package:latlong2/latlong.dart';
-import 'package:fl_chart/fl_chart.dart';
 import 'quick_view_chart.dart';
 import 'stat_charts.dart';
 
@@ -18,7 +17,7 @@ class MapContainerWidget extends StatefulWidget {
 
 class _MapContainerWidgetState extends State<MapContainerWidget> {
 
-  Measurement? selectedMarker;
+  Measurement? selectedMarker; // Containing data for selected marker
   bool isMinimized = true; // Quick view box state tacker
   bool satLayer = false; // Satellite layer visibility tracker
 
@@ -138,7 +137,7 @@ class _MapContainerWidgetState extends State<MapContainerWidget> {
             const SizedBox(height: contPadding), // Padding between containers
             ClipRRect(
               borderRadius: BorderRadius.circular(20),
-              child: Container(
+              child: SizedBox(
                 width: screenWidth * boxWidth,
                 height: screenWidth * boxHeight * 1.5, // NB: make dynamic
                 child: Align(
diff --git a/app/lib/pages/widgets/osm_map.dart b/app/lib/pages/widgets/osm_map.dart
new file mode 100644
index 00000000..ff89b371
--- /dev/null
+++ b/app/lib/pages/widgets/osm_map.dart
@@ -0,0 +1,42 @@
+import 'package:flutter/material.dart';
+import '../marker_handler/marker_data.dart';
+import '../consts.dart';
+import 'package:flutter_map/flutter_map.dart';
+import 'package:latlong2/latlong.dart';
+
+class OSMmap extends StatelessWidget {
+  const OSMmap({super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    return 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(),
+        )
+      ],
+    );
+  }
+}
diff --git a/app/lib/pages/widgets/sat_layer.dart b/app/lib/pages/widgets/sat_layer.dart
new file mode 100644
index 00000000..e69de29b
-- 
GitLab