Overview
DartStack Map (flutter_unified_map) gives Flutter apps one map API for every platform: write your UI once with the
flutter_map vocabulary, and the best native engine renders it on each platform.
| Platform | Engine | Package |
|---|---|---|
| Android | Google Maps SDK for Android | flutter_unified_map_android |
| iOS, macOS | Apple MapKit | flutter_unified_map_apple |
| Web, Windows, Linux, tests | flutter_map (OpenStreetMap tiles) | flutter_unified_map_flutter_map |
The platform packages are endorsed: you only depend on flutter_unified_map, and pub picks the right backend per
platform.
Why DartStack Map
- One API, every platform —
UnifiedMap,MapOptions,MarkerLayer,PolylineLayer,PolygonLayer,CircleLayer,TileLayerkeep flutter_map's names and fields.MapCamera.rotationhas the same meaning on every backend. - Widgets as markers — a marker child is an ordinary Flutter widget. The core rasterises it once per
iconKeyand hands the bitmap to the native map. - Layers you already know — anything that is not a layer widget is drawn above the map in a
Stack, so compass buttons, attributions or any overlay compose normally. - A real plugin API — extension packages (like the
marker cluster package) build on
package:flutter_unified_map/plugin_api.dart, in the spirit of flutter_map's own plugin API.
DartStack Map is not affiliated with flutter_map; it reuses its API vocabulary so you can switch with near-zero learning cost.