project/shved-SCRUM-110-hole-deleting #36

Merged
Vladislav merged 15 commits from project/shved-SCRUM-110-hole-deleting into dev 2026-03-27 20:18:00 +02:00
Showing only changes of commit 8dc8a1f4ba - Show all commits

View File

@@ -15,11 +15,24 @@ line_layer_colors = [
[1, 0, 1, 1],
]
def get_lat_lon(point: dict[str, float] | list[float] | tuple[float, float]) -> tuple[float, float] | None:
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 None
return lat, lon
class MapViewApp(App):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.mapview = None
self.mapview: MapView | None = None
self.datasource = Datasource(user_id=1)
self.line_layers = dict()
self.car_markers = dict()
@@ -111,12 +124,7 @@ class MapViewApp(App):
self.pothole_markers.append(marker)
def set_bump_marker(self, point):
if isinstance(point, dict):
lat = point.get("lat")
lon = point.get("lon")
else:
lat, lon = point
lat, lon = get_lat_lon(point)
if lat is None or lon is None:
return
@@ -129,6 +137,21 @@ class MapViewApp(App):
self.mapview.add_marker(marker)
self.bump_markers.append(marker)
def delete_bump_marker(self, point):
lat, lon = get_lat_lon(point)
if lat is None or lon is None:
return
marker = MapMarker(
lat=lat,
lon=lon,
source="images/bump.png"
)
if marker in self.bump_markers:
self.mapview.remove_marker(marker)
self.bump_markers.pop(self.bump_markers.index(marker))
def build(self):
"""