Feature Matrix
What works on each platform. flutter-maplibre-gl uses MapLibre Native on Android and iOS, and MapLibre GL JS on the web. Desktop (Windows, macOS, Linux) is not a supported target for this package.
✔ supported · ✘ not available on this platform
Core
| Feature | Android | iOS | Web |
|---|---|---|---|
| Map widget | ✔ | ✔ | ✔ |
| Map controller | ✔ | ✔ | ✔ |
| Camera control & animation | ✔ | ✔ | ✔ |
| Gesture handling | ✔ | ✔ | ✔ |
| Tap / long-press events | ✔ | ✔ | ✔ |
| User location | ✔ | ✔ | ✔ |
| Offline regions | ✔ | ✔ | ✘ |
| Snapshot (static image) | ✔ | ✔ | ✔ |
Annotations
| Feature | Android | iOS | Web |
|---|---|---|---|
| Symbol (markers) | ✔ | ✔ | ✔ |
| Circle | ✔ | ✔ | ✔ |
| Line | ✔ | ✔ | ✔ |
| Fill (polygon) | ✔ | ✔ | ✔ |
| Custom marker images | ✔ | ✔ | ✔ |
| Draggable annotations | ✔ | ✔ | ✔ |
Style layers
| Feature | Android | iOS | Web |
|---|---|---|---|
| Symbol layer | ✔ | ✔ | ✔ |
| Circle layer | ✔ | ✔ | ✔ |
| Line layer | ✔ | ✔ | ✔ |
| Fill layer | ✔ | ✔ | ✔ |
| Fill extrusion (3D) | ✔ | ✔ | ✔ |
| Heatmap layer | ✔ | ✔ | ✔ |
| Hillshade layer | ✔ | ✔ | ✔ |
| Raster layer | ✔ | ✔ | ✔ |
| Data-driven expressions | ✔ | ✔ | ✔ |
| Clustering | ✔ | ✔ | ✔ |
Sources
| Source type | Android | iOS | Web |
|---|---|---|---|
| GeoJSON | ✔ | ✔ | ✔ |
| Vector tiles | ✔ | ✔ | ✔ |
| Raster tiles | ✔ | ✔ | ✔ |
| Raster DEM | ✔ | ✔ | ✔ |
| Image source | ✔ | ✔ | ✔ |
| PMTiles | ✔ | ✔ | ✔ |
Web hover events
Pointer hover events are available only on the web build (MapLibre GL JS). On Android and iOS, use tap and long-press instead. Guard hover-only logic with kIsWeb.