Skip to main content
getting started

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.

PlatformEnginePackage
AndroidGoogle Maps SDK for Androidflutter_unified_map_android
iOS, macOSApple MapKitflutter_unified_map_apple
Web, Windows, Linux, testsflutter_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, TileLayer keep flutter_map's names and fields. MapCamera.rotation has the same meaning on every backend.
  • Widgets as markers — a marker child is an ordinary Flutter widget. The core rasterises it once per iconKey and 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.

On this page