From 9dd17cfeee8fc1c5f6478b2c459b0dedf8accbbf Mon Sep 17 00:00:00 2001 From: SimonSanich Date: Thu, 5 Mar 2026 14:43:59 +0200 Subject: [PATCH 1/3] lab 5: implement set_bump_marker() --- MapView/main.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/MapView/main.py b/MapView/main.py index 1445092..bf0f0b4 100644 --- a/MapView/main.py +++ b/MapView/main.py @@ -10,6 +10,7 @@ class MapViewApp(App): def __init__(self, **kwargs): super().__init__() # додати необхідні змінні + self.pothole_markers = [] def on_start(self): """ @@ -29,10 +30,23 @@ class MapViewApp(App): """ def set_pothole_marker(self, point): - """ - Встановлює маркер для ями - :param point: GPS координати - """ + if isinstance(point, dict): + lat = point.get("lat") + lon = point.get("lon") + else: + lat, lon = point + + if lat is None or lon is None: + return + + marker = MapMarker( + lat=lat, + lon=lon, + source="images/pothole.png" + ) + + self.mapview.add_marker(marker) + self.pothole_markers.append(marker) def set_bump_marker(self, point): """ -- 2.49.1 From 31c760f4a8c3ab6d64d35c435d96fbbbe2ebaa74 Mon Sep 17 00:00:00 2001 From: AndriiJushchenko Date: Sat, 7 Mar 2026 16:55:20 +0200 Subject: [PATCH 2/3] add method update_car_marker(self, point) --- MapView/main.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/MapView/main.py b/MapView/main.py index 1445092..aa54c3e 100644 --- a/MapView/main.py +++ b/MapView/main.py @@ -27,6 +27,16 @@ class MapViewApp(App): Оновлює відображення маркера машини на мапі :param point: GPS координати """ + lat, lon = point[0], point[1] + + if not hasattr(self, 'car_marker'): + self.car_marker = MapMarker(lat=lat, lon=lon, source='./images/car') + self.mapview.add_marker(self.car_marker) + else: + self.car_marker.lat = lat + self.car_marker.lon = lon + + self.mapview.center_on(lat, lon) def set_pothole_marker(self, point): """ -- 2.49.1 From c3b71daaebda6d56b161b7c1bfed9b56a3fb7410 Mon Sep 17 00:00:00 2001 From: AndriiJushchenko Date: Sat, 7 Mar 2026 17:12:23 +0200 Subject: [PATCH 3/3] add check_road_quality method --- MapView/main.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/MapView/main.py b/MapView/main.py index aa54c3e..c6df33b 100644 --- a/MapView/main.py +++ b/MapView/main.py @@ -21,6 +21,20 @@ class MapViewApp(App): Викликається регулярно для оновлення мапи """ + def check_road_quality(self, point): + """ + Аналізує дані акселерометра для подальшого визначення + та відображення ям та лежачих поліцейських + """ + if len(point) < 3: + return + + lat, lon, road_state = point + + if road_state == "pothole": + self.set_pothole_marker((lat, lon)) + elif road_state == "bump": + self.set_bump_marker((lat, lon)) def update_car_marker(self, point): """ -- 2.49.1