MapProvider
Component Detail
Infrastructure
medium complexity
mobile
0
Dependencies
0
Dependents
0
Entities
0
Integrations
Description
Provides the underlying map rendering engine and tile infrastructure used by the UI layer to display geographic content. It wraps a third-party mapping SDK and exposes a normalized interface for adding annotations, controlling the viewport, and handling map lifecycle events. It manages API key configuration, tile caching, and offline map support required for regions with limited connectivity.
map-provider
Sources & reasoning
Line 99 explicitly names geographic map view as a unique Blindeforbundet need for peer mentor matching and assignment dispatch across large counties. Line 358 places it in Fase 3 (third phase), which normalizes to v1.1. The blueprint confirms area [v1.1]. Feature is scoped exactly as defined in the blueprint.
-
docs/source/likeperson.md · line 99Geografisk kartvisning av likepersoner for matching og oppdragstildeling (særlig store fylker).
-
docs/source/likeperson.md · line 358Geografisk kartvisning (Blindeforbundet)
Responsibilities
- Initialize and configure the third-party map SDK with API credentials and regional tile settings
- Manage tile caching for offline map support in low-connectivity environments
- Expose a normalized annotation API for placing and updating mentor pins and overlays
- Handle map lifecycle events including load completion, error states, and tile fetch failures
- Report SDK usage metrics and tile load performance for operational monitoring
Interfaces
initialize(config: MapProviderConfig): Promise<void>
addAnnotations(annotations: MapAnnotation[]): void
removeAnnotation(annotationId: string): void
setViewport(viewport: MapViewport): void
onMapReady(callback: () => void): void
onTileError(callback: (error: TileError) => void): void