diff --git a/MapView/main.py b/MapView/main.py index f40f242..6dcece2 100644 --- a/MapView/main.py +++ b/MapView/main.py @@ -106,7 +106,11 @@ class MapViewApp(App): def map_lat_lon_to_marker(self, lat: float, lon: float) -> MapMarker | None: flt = filter(lambda marker: lon == marker.lat and lat == marker.lon, self.pothole_markers + self.bump_markers) - return next(flt) + + try: + return next(flt) + except StopIteration as e: + return None def set_pothole_marker(self, point): lat, lon = get_lat_lon(point) @@ -148,15 +152,15 @@ class MapViewApp(App): clicked_marker = self.map_lat_lon_to_marker(clicked_marker_data.latitude, clicked_marker_data.longitude) + if clicked_marker == None: + return + self.mapview.remove_marker(clicked_marker) - pothole_index = self.pothole_markers.index(clicked_marker) - bump_index = self.bump_markers.index(clicked_marker) - - if pothole_marker >= 0: - self.pothole_markers.pop(pothole_index) - elif bump_index >= 0: - self.bump_markers.pop(bump_index) + if clicked_marker in self.pothole_markers: + self.pothole_markers.pop(self.pothole_markers.index(clicked_marker)) + elif clicked_marker in self.bump_markers: + self.bump_markers.pop(self.bump_markers.index(clicked_marker)) def on_touch_down(self, widget, touch): if touch.button == "right":