import asyncio from kivy.app import App from kivy_garden.mapview import MapMarker, MapView from kivy.clock import Clock from lineMapLayer import LineMapLayer class MapViewApp(App): def __init__(self, **kwargs): super().__init__() # додати необхідні змінні def on_start(self): """ Встановлює необхідні маркери, викликає функцію для оновлення мапи """ def update(self, *args): """ Викликається регулярно для оновлення мапи """ def check_road_quality(self): """ Аналізує дані акселерометра для подальшого визначення та відображення ям та лежачих поліцейських """ def update_car_marker(self, point): """ Оновлює відображення маркера машини на мапі :param point: GPS координати """ def set_pothole_marker(self, point): """ Встановлює маркер для ями :param point: GPS координати """ def set_bump_marker(self, point): """ Встановлює маркер для лежачого поліцейського :param point: GPS координати """ def build(self): """ Ініціалізує мапу MapView(zoom, lat, lon) :return: мапу """ self.mapview = MapView() return self.mapview if __name__ == "__main__": loop = asyncio.get_event_loop() loop.run_until_complete(MapViewApp().async_run(async_lib="asyncio")) loop.close()