Offline maps and data
Separate NavGate’s offline map packs, place indexes, routing tiles, route caches, and current connectivity-based routing behavior.
Updated 1 November 2026 Development manual
Three different data layers
| Layer | Purpose | What it does not supply |
|---|---|---|
| Place index | Find names, categories, and coordinates in an installed dataset | A complete address catalogue, a drawn map, or a calculated route |
| Map pack | Draw an installed area from a PMTiles vector archive | Routing instructions or complete routing coverage |
| Routing tiles | Let BRouter calculate routes on the phone when the required area and profile are installed | Map artwork or guaranteed coverage beyond the installed tiles |
Which router answers?
The current development service wiring selects a router using the app’s connectivity hint. Ordinary plans use the online road router while a connection is reported. Offline plans can use BRouter when its required routing tiles are installed. Round trips are calculated on the phone because there is no equivalent online loop request.
Rendering diagram…
View Mermaid source
flowchart TD
Request[Plan a route] --> Loop{Round trip?}
Loop -->|Yes| Local[BRouter with installed routing tiles]
Loop -->|No| Online{Connection reported?}
Online -->|Yes| Remote[Online Valhalla road router]
Online -->|No| Ready{Offline tiles ready?}
Ready -->|Yes| Local
Ready -->|No| Cache[Try primary provider and eligible cache]
Local --> Result[Validated route or clear failure]
Remote --> Result
Cache --> ResultDownload or import a map
- Open Offline & region data
Review the map packs already installed and their storage size.
- Save an area
Choose an offered area around a known location. Download size and tile limits can require a smaller area. Wait for both map tiles and supporting fonts and icons to finish.
- Select the active pack
The active downloaded pack supplies offline map display. An Always use offline maps preference can also use it while connected.
- Import an existing archive if needed
The importer expects a PMTiles v3 vector archive in the supported OpenMapTiles layout. An arbitrary raster file or differently structured archive is not equivalent.
Prepare routing coverage separately
BRouter routing data is stored in regional segment files. The interface suggests a tile from a known location and shows installed data, download progress, retries, cancellation, and removal. A trip near a regional edge may need neighboring tiles.
- Install the required data before entering an area without connectivity.
- Walking, cycling, and driving require matching profiles and suitable mapped roads or paths.
- Offline street names can depend on a map pack covering the route.
- An existing route can continue providing its stored instructions through a connection loss; a deviation still requires a usable route provider or eligible cached route.
Handle interrupted downloads and missing data
Check that a pack or routing tile appears as installed rather than merely having a partial download. Retry a reported failure with a connection, or choose a smaller map area if its tile limit is exceeded. Removing a map pack and removing routing data are separate actions.
Source basis
This guide describes development source reviewed on 1 November 2026. The Android working tree contains changes beyond the public revision; repository links are reference locations and may show an earlier implementation. An installed build may differ.