offline_navigation library

Drop-in offline turn-by-turn navigation for Flutter, powered by the Organic Maps engine and OpenStreetMap data.

Push an OfflineNavigationPage onto your navigator with a start and destination; it downloads the required country map if missing, builds the route, shows a preview, then guides turn-by-turn — all fully offline after the one-time map download — and pops with a NavigationResult:

final result = await Navigator.push<NavigationResult>(
  context,
  MaterialPageRoute(
    builder: (_) => OfflineNavigationPage(
      start: const NavPoint(latitude: -6.1722, longitude: 35.7395, name: 'Dodoma'),
      destination: const NavPoint(latitude: -6.1841, longitude: 35.9297, name: 'UDOM'),
      travelMode: TravelMode.drive,
      options: const NavOptions(voiceGuidance: true),
    ),
  ),
);

See OfflineNavigationPage for the full page, OfflineMapView for the bare map widget, and OfflineNavigation to warm the engine up ahead of time.

Classes

Returned by OfflineNavigationPage when it pops.
Optional behavior tweaks for OfflineNavigationPage.
A named geographic point used as a route endpoint.
OfflineMapView
Displays the offline map.
OfflineNavigation
Controls the shared Organic Maps engine instance.
OfflineNavigationPage
A self-contained offline turn-by-turn navigation page.
RouteSummary
Summary of a successfully built route.

Enums

Why the navigation page was closed.
TravelMode
How the route is traveled.