Infrastructure high complexity mobile
0
Dependencies
1
Dependents
0
Entities
0
Integrations

Description

Abstraction layer wrapping the chosen Flutter mapping SDK (flutter_map with OpenStreetMap tiles as the privacy-respecting default, with optional Mapbox for richer styling). Provides a stable internal interface so the underlying mapping library can be swapped without affecting the MapViewScreen or LocationService. Also integrates flutter_map_marker_cluster for dense-area clustering.

Feature: Geographic Map View for Peer Mentor Matching

map-integration-infrastructure

Responsibilities

  • Wrap flutter_map (OpenStreetMap) and optional Mapbox Flutter plugin behind a common interface
  • Configure tile providers, API keys, and attribution requirements
  • Initialize marker clustering via flutter_map_marker_cluster
  • Handle SDK initialization, error states, and offline tile fallback

Interfaces

initialize(MapConfig config) -> Future<void>
buildMapWidget(List<MapMarker> markers, MapOptions options) -> Widget
setTileProvider(TileProviderType type)
enableClustering(ClusterOptions options)
moveCameraTo(LatLng center, double zoom)
fitBounds(LatLngBounds bounds, EdgeInsets padding)
dispose() -> void

Relationships

Dependents (1)

Components that depend on this component