uzmaps_kit
The UzMaps map experience as composable parts: a MapLibre GL engine hardened by production use, one application controller, and every screen of a real maps product — search, place details, routing, turn-by-turn navigation, saved places, a trip journal, settings, account, server status and credits.
- Map engine — style swaps without overlay leaks, pin/route/trace layers, camera flights, navigation camera, and the fixes a map on Flutter needs (size-keyed map creation for the web layout race, relayout nudges, permission-gated location).
- One controller —
UzAppControllerowns selection, categories, routes, navigation and errors; screens read it and call its actions. - Screens — search with debounced live results and recents, place panel with hours/contacts/nearby, route panel with alternatives, navigation banner, saved places with notes, trip journal with ratings and replay, settings (theme, language, units, 3D, keep-screen-on), status dashboard.
- Local-first extras — saved places, recents and the trip journal persist on-device through
uzmaps_corestores.
Install
dependencies:
uzmaps_kit: ^1.0.0
Use
final api = UzMapClient(config: ApiConfig(serverUrl: 'https://uzmaps.uz', apiKey: '…', languageKey: 'uz'));
final settings = AppSettings(read: store.get, write: store.set)..install();
final controller = UzAppController(
api: api,
engine: UzMapEngine(),
settings: settings,
saved: SavedPlaces(store: store),
journal: TripJournal(store: store),
recorder: TripRecorder(),
monitor: ServerMonitor(client: api),
);
runApp(MaterialApp(
theme: UzTheme.light(),
darkTheme: UzTheme.dark(),
home: UzHomeScreen(controller: controller),
));
The UzMaps family
| Package | Role |
|---|---|
uzmaps_core |
tokens, motion, strings, state |
uzmaps_api |
the typed UzMap server client |
uzmaps_ui |
the design system on top of core |
uzmaps_kit |
the complete map experience — you are here |
License
BSD-3-Clause. See LICENSE.
Libraries
- uzmaps_kit
uzmaps_kit— the UzMaps map experience, as composable parts.