Map Integration Infrastructure
Component Detail
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.
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