maplibre_ios
iOS implementation of the Flutter MapLibre plugin.
0.3.5
7.5K downloads/mo
#3325 most downloaded on pub.dev
josxha/flutter-maplibre
What this package is like to depend on
Last release 4 months ago
11 Apr 2026
Ships fairly regularly
a new release about every 5 weeks
Nearly every release is documented
notes for 10 of 10 stable releases
Nothing withdrawn
no release was ever pulled
10 months old
10 releases · first in 2025
10 releases in the last 12 months
see the full history below
Release timeline
10 releases · Sep 2025 to Apr 2026Releases
latest 10-
0.3.511 Apr 2026Release notes
Open source →This release contains a couple of bug fixes and improvements.
Thanks to @BartoszStasiurka for his contributions in this release!- fix: set default
maxZoomto 22 forRasterSource,RasterDemSourceandVectorSource. - fix: missing export of
DownloadProgress - Add
deleteRegion()toOfflineManager - Android: fix
onStyleLoaded()unreliable if style not loaded immediately - Android: fix
featuresAtPointcausesClassNotFoundExceptionin release builds - Android: update MapLibre Native to 13.0
- Android: update
jnito v1.0.0,jnigento 0.16.0 - Android: fix symbol icons appear smaller than on other platforms.
- iOS: update MapLibre Native to 6.25
Full Changelog: v0.3.4+1...v0.3.5
Contributors: @BartoszStasiurka, @josxha - fix: set default
-
0.3.420 Feb 2026Release notes
Open source →This feature release introduces a complete migration of the iOS platform to FFI and experimental support for Windows and macOS has been added using with web view.
The package has also been restructured into a federated plugin with separate packages for each platform.New Features
- iOS: migrate iOS to a complete FFI implementation and remove all pigeon method channel usage.
- Add experimental Windows and macOS support with a web view.
- Migrate the package to a complete federated plugin with separate packages for each platform.
- Add
paddingparameter tomoveCamera()andanimateCamera().
Bug Fixes
- Fix
paddingparameter offitBounds()doesn't account for device pixel ratio. - iOS: fix don't call
setState()if widget is not mounted. - iOS: fix
listOfflineRegions()throws exception if region packs are not available yet. - Fix gesture callbacks return incorrect screen offset, caused by incorrect device pixel ratio conversion.
- Android: fix map disposal causes sometimes a crash.
- Web: fix missing device pixel ratio adjustment on
addImage()
Full Changelog: v0.3.3+2...v0.3.4
Contributors: @josxha -
0.3.4+127 Feb 2026Release notes
Open source →Bug Fixes
- Web: fix
addSource()with raster and raster-dem source throws exception. - WebView: fix
addImage()results in image with wrong pixel ratio. - iOS: fix
animateCamera()causes the zoom level to jumps to the target zoom level. - iOS: fix
onStyleLoaded()callback is not called when style loads immediately.
Maintenance
- Migrate website to zensical and update documentation.
- Improve pub.dev scores of packages.
Full Changelog: v0.3.4...v0.3.4+1
Contributors: @josxha - Web: fix
-
0.3.312 Jan 2026Release notes
Open source →This release focuses on stability improvements along with a few small enhancements. Notably, it is now possible to render a Flutter widget or canvas directly into an image and use it as a map marker without any delay. Many thanks to @markszente and @BartoszStasiurka for their contributions to this release.
I would also like to extend my sincere gratitude to Thilko M., @oboukili, @ton-An, @YumNumm, and @smallTrogdor for helping fund the development of this package throughout 2025. Your support is truly appreciated!
New Features
- update MapLibre Native on iOS to 6.21
- update to ffigen v20, objective_c v9
- Add
paddingtofitBounds()on iOS. - Render a Flutter
WidgetorCanvasinto an image and use it as marker on the map. - Add
sourceLayerIdto style layers for vector sources. - Add
filterexpressions to style layers.
Bug Fixes
- Fix iOS can't load style from file.
- Add missing
MapEventCameraIdle,MapEventStartMoveCameraevents on iOS. - Fix
queryLayers()throws exception on iOS when receiving numeric layer IDs. - Fix
onCameraMoved()callback returning altitude instead of zoom level on iOS. - Fix invisible map on android when coming back from background.
- Fix double tap zoom interaction on iOS.
Full Changelog: v0.3.2...v0.3.3
Contributors: @markszente, @BartoszStasiurka, @josxha -
0.3.3+116 Jan 2026Release notes
Open source →Bug Fixes
- Fix
addLayer()throws double release error on Android - Fix
filtercannot be parsed on Android - Tighten version constraint for
maplibre_iosto fix pub.dev score
Full Changelog: v0.3.3...v0.3.3+1
Contributors: @josxha - Fix
-
0.3.3+224 Jan 2026Release notes
Open source →Bug Fixes
- Android: fix can't parse numeric array in layer properties
- Android: add missing
metadataparameter toOfflineRegion
Full Changelog: v0.3.3+1...v0.3.3+2
Contributors: @josxha -
0.3.204 Dec 2025Release notes
Open source →Maintenance release that optimizes the package on
pub.devand fixes a bug in release builds on Android.New Features
- Upgrade MapLibre Native on Android to 12.2.
- Optimize package size on
pub.devby restructuring the repository. - Upgrade
jni/jnigento ^0.15.1.
Bug Fixes
- Fix missing proguard rules for jni/jnigen causing issues in release builds on Android.
Full Changelog: v0.3.1...v0.3.2
Contributors: @josxha -
0.3.102 Nov 2025Release notes
Open source →This release brings a couple of new features and bug fixes.
The android platform view creation has been migrated to Dart. Android is now completely free from method channels.New Features
- Add
minZoom,maxZoomto layers. - Bump MapLibre Native on Android to 12.0.+.
- Migrate android platform view creation to Dart.
- Throw exception if layer or source id already exists when adding programmatically.
- Add
aboveLayerIdandatIndextoaddLayer(). - Add
addImages()toStyleControllerto add multiple images at once. - Add
addImageFromAssets()to load an image from Flutter assets. - Add
addImageFromIconDatato add an image from Flutter icons.
Bug Fixes
- Fix
allowInteractionparameter inWidgetLayernot working on web. - Fix pub.dev score.
- Fix
maxBoundsparameter - Fix
linePatternint array causing crash on iOS.
Contributors: @kekland, @josxha
Full Changelog: v0.3.0...v0.3.1 - Add
-
0.3.030 Sep 2025Release notes
Open source →In this release, I'm blazed to finally announce support for iOS. Similar to our other platforms, iOS uses FFI to natively interop between Dart and Swift/ObjC. Checkout the iOS documentation to get started.
A big thanks to @mhernz, @gabbopalma and @jt274 that helped with their awesome contributions in this release!This release introduces breaking changes. Head over to the migration guide to learn more on how to update your implementation.
New Features
- Breaking Require Flutter 3.35
- Breaking Migrate from
geotypesto geobase. - Breaking Return logical pixels in events on all platforms.
- Breaking Add
screenPointparameter toMapEventUserInputevents to show the screen coordinates in logical pixels where the user interacted with the map. - Breaking Rename
rotationDurationinMapCompasstonativeRotationDuration. - Breaking Multiple
MapControllerfunctions are now called synchronously, their*Sync()overloads have been removed. - Breaking All declarative layers now require a
FeatureCollection. This allows users to add properties to their layers. - Add iOS as supported platform with MapLibre Native iOS 6.19.
- Update MapLibre Native Android to 11.13
- Load map styles from Flutter assets, a JSON string or via URI.
- Add
setStyle(), to know when the map style has loaded, listen toonStyleLoaded(). - Add support for PMTiles on the web.
- Add
androidTranslucentTextureSurfaceandandroidForegroundLoadColorto use a translucent map. - Add
MapScalebar.unitsto support imperial units in the scalebar. - Add
featuresAtPoint()andfeaturesInRect()toMapController. - Update to
pigeon26.0.0
Bug Fixes
- Fix missing export of
BearingRenderMode - Remove
dart:ioimport to fix pub.dev WASM compatibility detection
Contributors: @mhernz, @jt274, @gabbopalma, @josxha
Full Changelog: v0.2.2...v0.3.0 -
0.0.129 Sep 2025