Skip to content

Search downloaded places and addresses without a network #403

Description

@Medformatik

Before you start

  • Searched current issues and discussions; no equivalent feature was found. Related work is linked below.

What problem does this solve?

Downloaded maps do not currently provide arbitrary offline place/address search. A cached earlier query is not enough for finding a never-searched destination in a downloaded region.

Proposed solution

Add a bounded, versioned regional place/address index alongside offline packages. Choose the index format, normalization/ranking and storage adapter in a short design decision first; then split generation, installation and query/UI work into linked implementation tasks. Reuse canonical identities and resolvers rather than introducing a disconnected offline-only place namespace. Support one representative German region first; no global download requirement or new routing engine.

Verified current state

Rechecked against main at a8e03bc3efc49207d91f7c1855402c6cf149b8fd on October 7, 2026.

  • Offline manifest describes PMTiles, glyphs and coverage, with no search-index artifact.
  • Geocoding hook queries the API; it does not query installed regional data.
  • Offline documentation already supports continuing a previously planned route and explicitly excludes search/new routing.
  • Package storage provides existing durable package lifecycle infrastructure to reuse.

Acceptance criteria

  • Package metadata declares search coverage, data/index versions, licensing, bytes/checksum and compatibility independently of map coverage.
  • Cold-start, never-before-searched name/address queries and bounded category browsing work with all network requests blocked; multilingual aliases, branch identity and out-of-coverage bounds are covered.
  • Results retain canonical IDs, coordinates and enough local details to select a destination; unavailable online-only enrichment is explicit.
  • Interrupted install, quota failure, incompatible upgrade, deletion and multiple-region boundaries have deterministic recovery and do not corrupt ready packages.
  • Query latency, storage and build cost are measured on representative low-end hardware with thresholds agreed before rollout.
  • Docs distinguish offline map rendering, search and routing capabilities; keyboard/accessibility and before/after screenshots accompany UI changes.

Verification approach

Use a disposable pinned regional fixture, network-denial assertions and empty query caches. Test identity parity with online results, install/update failure injection and platform storage adapters; record dataset versions and performance results in the comparison corpus.

Dependencies and decisions

Shared place identity/publication contract from #399 is required for final compatibility; packaging and index research can begin earlier. #300 concerns upstream Pelias address ingestion, not an on-device query index. Choose initial region and minimum address fields during triage.

Alternatives considered

Keep online-only search (current limitation); cache individual responses (cannot cover new queries); package a full third-party application dataset (evaluate size/licensing rather than assuming it matches current identities).

Area

Other / cross-cutting

Would you like to work on this?

Maybe, with some guidance. Maintainer-owned backlog; implementation has not started. Resolve the named decisions during triage before scheduling work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneeds-triageNeeds initial review and categorization

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions