PackageTrack
Sign in Get early access

flutter_map

Flutter's №1 non-commercially aimed map client: it's easy-to-use, versatile, vendor-free, fully cross-platform, and 100% pure-Flutter

8.3.1 1000K downloads/mo #55 most downloaded on pub.dev fleaflet/flutter_map

What this package is like to depend on

Last release 1 months ago

30 Jun 2026

Release timing varies

gaps range from 1 weeks to 7 months

Some releases are documented

notes for 26 of 86 stable releases

2 versions withdrawn

withdrawn after publishing

9 years old

98 releases · first in 2018

3 releases in the last 12 months

see the full history below

Release timeline

98 releases · Feb 2018 to Jun 2026
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 60 of 98
  1. 8.3.1 30 Jun 2026
    Release notes

    What's Changed

    • chore: allow 'pkg:latlong2' v0.10.x dependency by @ThexXTURBOXx in #2207
    • chore(deps): bump codecov/codecov-action from 6 to 7 by @dependabot[bot] in #2210
    • chore(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in #2215
    • perf: cache zoom-independent marker projections in MarkerLayer by @ben-milanko in #2213
    • perf: avoid quadratic hole-point iteration in PolygonLayer offset generation & triangulation by @ben-milanko in #2211
    • revert: fix: throw when LatLng is non-finite by @JaffaKetchup in #2218
    • perf: cull polylines via cached projected bounding boxes & chore: prepare for v8.3.1 release by @ben-milanko in #2212

    Full Changelog: v8.3.0...v8.3.1

    Open source →
  2. 8.3.0 13 Apr 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v8.2.2...v8.3.0

    Open source →
    Release notes

    Contains the following user-affecting changes:

    • Added MapOptions.onPointerMove callback - #2137
    • Added InteractionOptions.flingAnimationDampingRatio parameter - #2177
    • Added separate RotatedOverlayImage.transformFilterQuality parameter - #2169
    • Improved fling behaviour when pointer leaves window - #2158

    Contains the following user-affecting bug fixes:

    • Use TileLayer.tileBuilder for errored tiles - #2166 for #2154
    • Correct TileLayer's tile visibility calculation - #2174 for #2175
    • Prevent memory leak by throwing when LatLng is non-finite during projection - #2182 for #2178
    • Consider strokeWidth when calculating polyline visibility during non-aggressive culling - #2184
    • Correct LatLngBounds.isOverlapping calculation - #2190

    Contains the following user-affecting performance improvements:

    • Reduce large amounts of unnecessary rebuilding by replacing unstable widget key with dedicated stable TileKey - #2195

    Contains the following other notable changes:

    • Removed 'package:logger' dependency - #2185
    • Removed OSM unblocking flow - #2185
    • Absorb necessary 'dart:io' components to remove references and allow pana to recognise flutter_map as WASM compatible - #2186

    Many thanks to these contributors (in no particular order):

    • @monsieurtanuki
    • @ReinisSprogis
    • @shindonghwi
    • @ben-milanko
    • @Robbendebiene
    • @braindamagedman
    • @stani-m
    • ... and all the maintainers
    Open source →
  3. 8.2.2 19 Sep 2025
    Release notes

    What's Changed

    Full Changelog: v8.2.1...v8.2.2

    Open source →
    Release notes

    Contains the following user-affecting bug fixes:

    • Prevent crash caused by usage of negative TileLayer.zoomOffset - #2133 for #2127
    • Assert that MapCamera.zoom is finite (to prevent confusing errors within layers) - #2141 for #2135

    Many thanks to these contributors (in no particular order):

    • @monsieurtanuki
    • @ReinisSprogis
    • ... and all the maintainers
    Open source →
  4. 8.2.1 11 Jul 2025
    Release notes

    What's Changed

    • fix: ensure tiles still load when failing to generate cache metadata by @JaffaKetchup in #2125

    Full Changelog: v8.2.0...v8.2.1

    Open source →
    Release notes

    Contains the following user-affecting bug fixes:

    • Ensure tiles still load when failing to cache them due to HTTP spec non-compliance - #2125 for #2124

    Contains the following user-affecting changes:

    • Log informational warnings to console when a tile fails to cache due to HTTP spec non-compliance or a shortage of information to calculate an accurate freshness age - #2125 for #2124

    Many thanks to these contributors (in no particular order):

    • ... and all the maintainers
    Open source →
  5. 8.2.0 10 Jul 2025
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v8.1.1...v8.2.0

    Open source →
    Release notes

    Contains the following user-affecting changes:

    • Added inverted fill option to PolygonLayer - #2046 (💰) for #2034
    • Added Polyline/gonLayer.oneWorld parameter - #2069 for #2067
    • Added ContainCameraLatitude camera constraint - #2073 for #2071
    • Added options to customize double-tap (drag) zoom gestures - #2070
    • Added warning on usage of OpenStreetMap public tile servers with TileLayer - #2074 and #2109
    • Added PolygonLayer.painterFillMethod parameter & changed default fill methods - #2081
    • Added simple built-in (but extensible) caching to NetworkTileProvider - #2082
    • Added aborting of obsolete in-flight HTTP requests to NetworkTileProvider - #2082
    • Added CircleLayer.optimizeRadiusInMeters option to improve performance in some cases - #2101
    • Replace (with deprecation) Polygon.labelPlacement with more flexible and extensible Polygon.labelPlacementCalculator/PolygonLabelPlacementCalculator system - #2102
    • Added new 'signed area centroid' algorithm, and switch polylabel label placement implementation to use new external library - #2102

    Contains the following user-affecting bug fixes:

    • Consider zoomOffset & emulated retina mode when generating tile coordinates - #2060 for #2042
    • Raise attribution widgets above screen insets - #2058
    • Stop ongoing fling and zoom animations when scroll zooming - #2066 for #1767
    • Calculate LayerHitResult.coordinate correctly - #2093 for #2092
    • Consider that the camera may be over the anti-meridian when creating LatLngBounds in MapCamera.visibleBounds for polygon culling - #2091 for #2080
    • Adjust infinite loop protection in internals which allow multi-world functionality to improve performance and add more debug info on error - #2113
    • Minor API docs fix on TileDisplay.fadeIn arguments - #2114 for #2098

    Contains the following meta changes to the package:

    • Reduced final package size to ~900KB from >3MB - #2056
    • Improved build & publish integrity: publishing to pub.dev now occurs directly from the GitHub repo - #2059

    Many thanks to these contributors (in no particular order):

    • @monsieurtanuki
    • @Quirille
    • @freekvandeven
    • @mbenoukaiss
    • @ReinisSprogis
    • @tidu090
    • ... and all the maintainers

    And an additional special thanks to @monsieurtanuki for investing so much of their time into this project recently - we appreciate it!

    Open source →
  6. 8.1.1 08 Mar 2025
    Release notes

    What's Changed

    • fix: prevent infinite looping when polygon labels displayed on rotated map by @monsieurtanuki in #2054

    Full Changelog: v8.1.0...v8.1.1

    Open source →
    Release notes

    Contains the following user-affecting bug fixes:

    • Prevent infinite looping when polygon labels displayed on rotated map - #2054 for #2052

    Many thanks to these contributors (in no particular order):

    • @monsieurtanuki
    • ... and all the maintainers
    Open source →
  7. 8.1.0 25 Feb 2025
    Release notes

    What's Changed

    Full Changelog: v8.0.0...v8.1.0

    Open source →
    Release notes

    Contains the following user-affecting changes:

    • Added multi-world support for Polygons and Polylines - #2033

    Contains the following user-affecting bug fixes:

    • Ensure movement gestures emit events when starting - #2035 for #1939
    • Ensure MapController.rotateAroundPoint does not move map when already rotated - #2029 for #2028

    Many thanks to these contributors (in no particular order):

    • @tlserver
    • @monsieurtanuki
    • ... and all the maintainers
    Open source →
  8. 8.0.0 02 Feb 2025
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v7.0.2...v8.0.0

    Open source →
    Release notes

    "Infinite Worlds

    Contains the following user-affecting changes:

    • 🟢 Added unbounded horizontal scroll (with the default projection) and support for layers to cross anti-meridian - #1948 (💰), #1969, #1978, #2000, #2018, #2025 for #1582
    • 🟢 Added animated keyboard controls for gestures - #1987
    • 🟢 Added filterQuality parameter to (Base)OverlayImage - #1989
    • 🟢 Exposed BaseOverlayImage for external implementation/extension - #1990
    • 🟡 Changed the majority of references to Point to Offset, and method names accordingly - #1996
    • 🟡 Added integer tileDimension & deprecated TileLayer.tileSize - #1940

    Contains the following user-affecting bug fixes:

    • Fixed polygon hit detection when map rotated - #1942 for #1934
    • Fixed polygon hit detection when polygon invalid - #1964 for #1933
    • Eagerly listen to TileLayer.reset stream internally to ensure handler is fired - #1943 for #1808
    • Fixed some tile loading/pruning state issues - #2007 for partially #1837
    • Use Client instead of BaseClient in network tile/image provider - #2011 for #2010
    • Avoid closing externally created http.Client in NetworkTileProvider - #2012 for #2009

    Contains the following user-affecting performance improvements:

    • Fixed performance-related bug where Polyline.renderHashCode included hashCode unnecessarily causing internal draw batching to fail - #1967
    • Fixed massive performance-related bug where the simplification cache for the Polyline/gonLayers was incorrectly used - #1991
    • Perform bounding-box culling prior to aggressive culling for Polylines - #1993

    Many thanks to these contributors (in no particular order):

    • @monsieurtanuki
    • @alestiago
    • @RBT22
    • @TechnicJelle
    • @slightfoot
    • ... and all the maintainers
    Open source →
  9. 7.0.2 02 Jul 2024
    Release notes

    What's Changed

    • chore: relax dependency on 'package:logger' by @monsieurtanuki in #1922
    • fix: fixed multiple issues in PolygonLayer and PolylineLayer by @JaffaKetchup in #1925
    • feat: allow reassignment of MapController to FlutterMap multiple times by @josxha in #1915

    Full Changelog: v7.0.1...v7.0.2

    Open source →
    Release notes

    Note that this version causes a technically breaking change by removing PolygonLayer.useDynamicUpdate & PolylineLayer.useDynamicUpdate, introduced in v7.0.1. However, the implementations for these was broken on introduction, and their intended purpose no longer exists. Therefore, these should not have been used in any capacity, and should not affect any projects.

    Contains the following user-affecting bug fixes:

    • Fixed significant performance issues with PolygonLayer & PolylineLayer inadvertently introduced by v7.0.1 - #1925 for #1921
    • Fixed bug where the holes of a Polygon would only appear if their winding direction was opposite to the direction of the Polygon.points - #1925 for #1924
    • Relaxed constraint on 'package:logger' dependency - #1922 for #1916
    • Allowed re-assignment of a MapController to a FlutterMap multiple times - #1915 for #1892
    Open source →
  10. 7.0.1 09 Jun 2024
    Release notes

    What's Changed

    • fix: downgraded some dependencies to re-introduce compatbility with Flutter 3.19 by @monsieurtanuki in #1897
    • perf: expose isPointInPolygon and make 40% faster (at least in JIT mode) by @ignatz in #1907
    • fix: overlapping Polygon cutting & color/translucency mixing by @JaffaKetchup in #1901
    • fix: correct PolygonLayer.useAltRenderer renderer when Polygons have multiple holes by @JaffaKetchup in #1906
    • feat: implement efficient(-ish) change detection for PolygonLayer & PolylineLayer by @JaffaKetchup in #1904
    • chore: prepare for v7.0.1 release by @JaffaKetchup in #1911

    Full Changelog: v7.0.0...v7.0.1

    Open source →
    Release notes

    Contains the following user-affecting bug fixes:

    • Implemented internal efficient(-ish) change detection for PolygonLayer & PolylineLayer - #1904
    • Fixed PolygonLayer.useAltRenderer renderer when Polygons have multiple holes - #1906
    • Fixed overlapping Polygon cutting & color/translucency mixing - #1901
    • Downgraded dependencies to support Flutter 3.19 - #1897

    Contains the following user-affecting performance improvements:

    • Improved speed of isPointInPolygon method up to 40% - #1907
    Open source →
  11. 7.0.0 26 May 2024
    Release notes

    "onTap-ish At Last!"

    Contains the following user-affecting changes:

    • 🟢 Added interactivity & hit detection to Polyline(Layer), Polygon(Layer), and Circle(Layer) - #1822 (for #1740 and #385), #1728, #1886
    • 🟢 Made FlutterMap.options an optional parameter - #1816
    • 🟢 Added alternative (Canvas.drawVertices) render pathway for PolygonLayer - #1800
    • 🟢 Added Scalebar layer - #1821
    • 🟢 Added TileUpdateTransformers.debounce to debounce tile requests - #1850 (replaces #1840)
    • 🟢 Added static Marker.computePixelAlignment method to calculate absolute alignment - #1847
    • 🟢 Added StrokePattern, which supports solid, dotted, and dashed styles for Polylines and the border of Polygons - #1855 (replaces #1845), #1865, #1871, #1875, #1876
    • 🔴 Deprecated MapOptions.applyPointerTranslucencyToLayers - #1822 for #1740

    Contains the following user-affecting bug fixes:

    • Fixed NetworkTileProvider poor performance and ClientExceptions/SocketExceptions on disposal - #1742 for #1761, #1703, #1698
    • Fixed Polygon/PolylineLayer failing to move on changes - #1825
    • Prevented fatal crash due to infinite loop/memory leak at high zoom levels over some types of Polygon - #1854 for #1829
    • Fixed PolylineLayer exception: "The west longitude can't be smaller than the east longitude" - #1879
    • Fixed LatLngBounds.center to work across world bounds - #1860

    Contains the following user-affecting performance improvements:

    • Added Polyline and Polygon simplification, and enhanced Polyline culling algorithm to work within the same Polyline - #1704, #1795, #1805, #1812
    • Cached projection of Polygon points & improved CRS internals - #1801
    • Fixed PolygonLayer bundled drawing system - #1800
    • Other miscellaneous generic performance enhancements across the board, and addition of stress tests to example application

    Contains the following important internal changes (does not include changes to the example app, meta changes to the repo/org configuration, or minor changes):

    • Merged MapInternalController & MapControllerImpl, and removed "FlutterMap" prefix from some members - #1738
    • Made LatLngBounds mutable - #1834

    Many thanks to these contributors (in no particular order):

    • @androidseb
    • @ignatz
    • @Alexays
    • @ReinisSprogis
    • @gnassro
    • @monsieurtanuki
    • ... and all the maintainers
    Open source →
  12. 7.0.0-dev.1 02 Apr 2024 pre-release

    Nothing published for this version

  13. 6.2.1 27 May 2024
    Release notes

    If possible, prefer to update directly to v7. This version is provided only to enable Flutter 3.22 compatibility without requiring a breaking change.

    v6.2.0 was retracted from pub.dev due to a mistake in the release preparation. For more information, see this comment. v6.2.1 is the replacement without the issues.

    Contains the following user-affecting changes:

    • Added support for Flutter 2.22 - #1883
    Open source →
  14. 6.2.0 26 May 2024 withdrawn

    Nothing published for this version

  15. 6.1.0 03 Dec 2023
    Release notes

    Contains the following user-affecting changes:

    • 🟢 Added option to draw labels on top of all Polygons in a layer - #1707
    • (Released 'flutter_map_cancellable_tile_provider' v2.0.0)

    Contains the following user-affecting bug fixes:

    • Removed flutter_map text attribution when RichAttributionWidget.showFlutterMapAttribution is false - #1712
    • Repaired TileLayer.tileBounds - #1713 for #1710
    • Added doubleTapDragZoom and scrollWheelZoom to InteractiveFlag.all - #1726 for #1725
    • Repaired correct movement for CircleLayer when panning - #1735
    • Improved value distribution for MapPosition.hashCode - #1747

    Contains the following user-affecting performance improvements:

    • Optimized Bounds - #1706
    • Avoided creating a new list on every frame unnecessarily - #1708
    • Cull Polygon labels seperately (more strongly), and cache the TextPainter - #1716
    • Avoided caching a single commonly-used multiplication - #1743

    Many thanks to these contributors (in no particular order):

    • @ignatz
    • @amal-stack
    • @Robbendebiene
    • @leiflinse-trivector
    • ... and all the maintainers

    And an additional special thanks to @ignatz for investing so much of their time into this project recently - we appreciate it!

    In other news:

    • A warm welcome to @josxha, who's recently joined the maintainer team
    • We've also made some widespread minor improvmenents to the example application
    • Check out the new Showcase page on our docs for some awesome projects
    • We're working on some very exciting reworked features and performance improvements for v7 - keep an ear out by joining our Discord server
    Open source →
  16. 6.0.1 24 Oct 2023
    Release notes

    Contains the following user-affecting bug fixes:

    • Fixed CircleMarker's incorrect appearance and size - #1692 for #1688
    • Fixed LateInitializationError when specifying initialCameraFit - #1691 for #1684
    • Fixed incorrect behaviour issues caused by the adjusted default MapOptions.cameraConstraint - #1700 for #1682 & #1699
    • Fixed bug where not providing either wmsOptions nor urlTemplate caused a null exception in getTileUrl and when retinaMode is true - #1701
    • Re-exported 'positioned_tap_detector_2' library (with TapPosition) - #1694 for #1693

    Many thanks to these contributors (in no particular order):

    • @Alexays
    • ... and all the maintainers
    Open source →
  17. 6.0.0 09 Oct 2023
    Release notes

    "Photography"

    Contains the following user-affecting changes:

    • 🟢 Added new MapCamera object to reduce scope of MapController & re-implemented internal state management - #1551 with #1614
    • 🟢 Added support for rotation on desktop with cursor/pointer and keyboard trigger - #1592 & #1642 for #1568
    • 🟢 Added support for cancelling in-loading tiles to TileProviders & refactored methods - #1622
    • 🟢 Added support for allowing gestures to bubble down to all layers - #1615
    • 🟢 Added minZoom property to CameraFits - #1562
    • 🟢 Added InteractiveFlag.doubleTapDragZoom - #1603
    • 🟢 Added in-memory caching support for tiles loaded by NetworkTileProvider, to reduce tile loading times and reduce unnecessary tile server requests - #1629
    • 🟢 Added new options for rotation support to bounds fitting - #1550 for #1342
    • 🟢 Added new '{d}' 'dimension' placeholder to TileLayer.urlTemplate (via TileProvider.generateReplacementMap) to be filled with TileLayer.tileSize - #1665 for #1664
    • 🟡 Replaced interaction configurations from MapOptions with InteractionOptions (accessed from MapOptions) - #1551
    • 🟡 Replaced MapOptions. center, bounds, zoom, and rotation with initialCenter, initialCameraFit, initialZoom, and initialRotation - #1551
    • 🟡 Replaced MapOptions.maxBounds with MapOptions.cameraConstraint - #1551
    • 🟡 Replaced TileLayer.backgroundColor property with MapOptions.backgroundColor to simplify interaction when using multiple tile layers - #1578 & #1647 for #1577 & #1566
    • 🟡 Replaced FlutterMap.nonRotatedChildren with an inverse purpose (usually internal) MobileLayerTransformer - #1615
    • 🟡 Replaced Marker.anchor with Marker.alignment that uses built-in Alignment object - #1659
    • 🟡 Replaced Marker.builder with non-builder Marker.child - #1659
    • 🟡 Changed TileLayer.retinaMode behaviour - #1673 for #1670
    • 🟡 Changed some default arguments, including TileLayer.panBuffer and MapOptions.cameraConstraint - multiple PRs
    • 🔴 Removed CustomPoint in favour of extension methods on Point<T> - #1585 for #1522
    • 🔴 Removed MoveAndRotateResult in favour of a Record in format of ({bool moveSuccess, bool rotateSuccess}) - #1636
    • 🔴 Removed Anchor, AnchorPos, and all anchor related terminology - #1659
    • 🔴 Removed dedicated plugins API import - #1632

    Contains the following user-affecting bug fixes:

    • Handled exceptions correctly in default image provider if no fallbackUrl is defined - #1555 for #1554
    • Ignored gestures on closed RichAnimationWidget when using FadeRAWA - #1591 for #1589
    • Avoided setting 'User-Agent' header in TileProvider when running on the web, to avoid polluting the debug console with error messages - #1677 for #1654
    • Fixed some Polygon edge-cases - #1598 & #1599
    • Fixed TileLayer.reset failing to load new tiles - #1620 for #1619
    • Fixed incorrect Marker anchoring when counter-rotating - #1623 for #1500
    • Fixed fitBounds failing to load new tiles - #1626 for #1563
    • Fixed maxNativeZoom apparently failing to have any effect - #1627 for #1625
    • Fixed hasGesture being false after double tap zoom in onPositionChanged callback - #1465 for #1630
    • Fixed failure to attempt tile requests with fallbackUrl when an exception is thrown whilst decodeing instead of during the network request - #1648 for #1649
    • Fixed potential issues with building RichAttributionWidget - #1661
    • Fixed TileLayer.fallbackUrl not being attempted when FlutterMapNetworkImageProvider failed to decode a non-image - part of #1662 for #1667
    • Fixed "PositionedTapDetector2" not correctly transforming global coords to local coords when the FlutterMap widget was Transformed - #1676 for #1675

    Contains the following user-affecting performance improvements:

    • Created official plugin to reduce tile loading times when running on web, using #1622's infrastructure - flutter_map_cancellable_tile_provider
    • Improved Polygon performance when using labels, by increasing batching ability and label location calculations - #1607 & #1641
    • Improved CircleMarker performance, by using a single CustomPainter instance and more efficient draw calls - #1679
    • Improved internal code style and strictness - #1594
    • Added logging to warn of potential performance issues and recommend workarounds (such as 'flutter_map_cancellable_tile_provider') - #1632

    In other news:

    • There's many new performance and cost-reducing improvments available (some may need some manual work to enable): please see the Highlights section on the Migrating To v6 docs page!
    • We now accept one-time donations! We're extremely grateful for anything you can spare. We'll donate 15% of what we receive to the OpenStreetMap Foundation, as a thanks for their excellent work. For more info, please see Support Us.
    • We're looking for sponsors and OSS projects that use FM significantly, and want to be advertised! For more info, please see Showcase.
    • We're on the hunt for maintainers to join the team! For more information, please see the application form.
    • OpenStreetMap Operations has warned us that users should move away from using subdomains with their tile servers, so please do! Appropriate warnings will now be logged in console should you fail to do this.

    Many thanks to these contributors (in no particular order):

    • @jjoelson
    • @envomer
    • @rorystephenson
    • @Robbendebiene
    • @ignatz
    • @josxha
    • @lonelyteapot
    • @s6o
    • @bramp
    • @Alexays
    • ... and all the maintainers

    And an additional special thanks to @rorystephenson for investing so much of their time into this project recently - we appreciate it!

    Open source →
  18. 6.0.0-dev.3 28 Aug 2023 pre-release

    Nothing published for this version

  19. 6.0.0-dev.2 29 Jul 2023 pre-release

    Nothing published for this version

  20. 6.0.0-dev.1 07 Jul 2023 pre-release

    Nothing published for this version

  21. 5.0.0 04 Jun 2023
    Release notes

    "Dart The Third"

    Contains the following API changes:

    • Migrated to Flutter 3.10 and Dart 3.0 minimums - #1512 & #1517
    • Added offset capability to FlutterMapState.move/MapController.move methods - #1532 for #952
    • Added MapController.rotateAroundPoint method - #1532 for #1460
    • Added TileLayer.fallbackUrl support to FileTileProvider - #1532
    • Added more position options to AnchorAlign - #1532
    • Improved MarkerLayer/Layer interoperability - #1532
    • Improved response/emission time of onTap/MapEventTap when InteractiveFlag.doubleTapZoom is disabled - #1532
    • Improved (stricter) typing of CustomPoint - #1515
    • Deprecated TileUpdateTransformers.alwaysLoadAndPrune in favour of ignoreTapEvents - #1517
    • Deprecated AnchorAlign.none in favour of AnchorAlign.center or null - #1532
    • Removed NetworkNoRetryTileProvider in favour of custom NetworkTileProvider.httpClient - #1512
    • Removed FileTileProvider fallback to NetworkTileProvider on web - #1512
    • Removed saveLayers property from PolylineLayer - #1532 & #1519
    • Updated dependencies - #1530
      • Updated 'latlong2' to access const LatLng objects
      • Updated 'http'
      • Removed 'tuple' in favour of built-in Records (#1517)

    Contains the following bug fixes:

    • Polylines with translucent fills and borders now paint properly - #1519 for #1510 & #1420
    • Ensure id of MapController.move is passed through to the emitted MapEventMove - #1534 in #1532 for #1542
    • Fixed MacOS pinch zoom gesture issue - #1543 for part of #1354
    • Removed potential for jitter/frame delay when painting Polylines & Polygons - #1514
    • Removed potential for un-mounted setState call in RichAttributionWidget - #1532 for #1538

    Contains the following performance improvements:

    • Reduced unnecessary rebuilding in environments where MediaQuery changes frequently - #1523
    • Use Flutter's default CachingAssetBundle in AssetTileProvider when TileLayer.fallbackUrl is not specified - #1532 for #1436
    • Improved performance of TileProviders and FlutterMapNetworkImageProvider - #1512

    In other news:

    • You may have noticed some minor rebranding around the repo recently! The maintainers have finally gained full member access from the previous owner (thanks John :)) to the 'fleaflet' organisation and now have total control.
    • We've launched a Live Web Demo so you can experiment with flutter_map on the web without having to install any apps or build from source yourself! Visit demo.fleaflet.dev.
    • We've made some big changes to the structure/organization of flutter_map internals, which we hope should make it easier for new contributors to add code due to the reduction of the scope of responsibility of each source file.

    Many thanks to these contributors (in no particular order):

    • @josxha
    • @ignatz
    • @rorystephenson
    • @tlserver
    • @JosefWN
    • ... and all the maintainers

    And an additional special thanks to @josxha & @ignatz for investing so much of their time into this project recently - we appreciate it!

    Open source →
  22. 5.0.0-dev.1 20 May 2023 pre-release

    Nothing published for this version

  23. 4.0.0 05 May 2023
    Release notes

    "Out With The Old, In With The New"

    Contains the following improvements:

    • Reimplemented TileLayer and underlying systems - #1475
    • Reimplemented attribution layers - #1487 & #1390
    • Added secondary tap handling to MapOptions - #1448 for #1444
    • Refactored FlutterMapState's maybeOf method into maybeOf & of - #1495
    • Removed LatLngBounds.pad (unused and broken) method - #1427
    • Removed absorbPanEventsOnScrollables option - #1455 for #1454
    • Removed leftover deprecations - #1475
    • Improved rotation gestures (cause rotation about the gesture center) - #1437
    • Improved number (num/int/double) consistency internally - #1482
    • Minor example application improvements - #1440 & #1487

    Contains the following bug fixes:

    • Prevented scrolling of list and simultaneous panning of map on some platforms - #1453
    • Improved LatLngBounds's null safety situation to improve stability - #1431
    • Migrated from multiple deprecated APIs - #1438

    Contains the following performance and stability improvements:

    • Batched polygon and polyline rendering to minimize redraws and maximize their efficiency - #1442 & #1462
    • Added a threshold for rasterization to avoid excessive fixed overhead cost for cheap redraws - #1462

    Many thanks to these contributors (in no particular order):

    • @rorystephenson
    • @augustweinbren
    • @ianthetechie
    • @pablojimpas
    • @tlserver
    • @Zzerr0r
    • @tobiasht
    • @ignatz
    • ... and all the maintainers

    And an additional special thanks to @rorystephenson & @ignatz for investing so much of their time into this project recently - we appreciate it!

    Open source →
  24. 4.0.0-dev.2 21 Apr 2023 pre-release

    Nothing published for this version

  25. 4.0.0-dev.1 04 Apr 2023 pre-release

    Nothing published for this version

  26. 3.1.0 21 Dec 2022
    Release notes

    Contains the following additions/removals:

    • Added fallback URLs - #1348 for #1203
    • Added parameter to force integer zoom levels to FitBoundsOptions - #1367
    • Added Keys to Polygons, Polylines, and CircleMarkers - #1402 & #1403
    • Added Polyline parameter to treat width in meters - #1404
    • Added buffer feature to TileLayer to preload surrounding tiles - #1405 for #1337
    • Deprecated obsolete parameter - #1368

    Contains the following bug fixes:

    • Improved tile handling to simplify internals - #1356
    • Improved performance by removing unnecessary casts - #1357
    • Fixed ESPG:3413 example - #1359
    • Fixed tile layer reset example - #1372
    • Fixed issue with MapController movement - #1374
    • Fixed flickering issue with fitBounds - #1376
    • Fixed fitBounds/bounds not working on first display - #1413
    • Fixed error when zooming - #1388

    Many thanks to these contributors (in no particular order):

    • @JosefWN
    • @Robbendebiene
    • @urusai88
    • @LeonTenorio
    • ... and all the maintainers
    Open source →
  27. 3.0.0 05 Sep 2022
    Release notes

    "Boiler(plate) Repairs"

    Contains the following additions/removals:

    • Multiple changes - #1333
      • Removed deprecated APIs from v2
      • Removed old layering system
      • Added new layering system
      • Removed old plugin registration system
    • Added Polygon label rotation (countered to the map rotation) - #1332

    Contains the following bug fixes:

    • Fixed missing widget sizing to fix multiple issues - #1334
    • Forced CRS changes to rebuild children - #1322
    • Allowed map to absorb gesture events correctly within other scrollables - #1308
    • Improved performance by harnessing the full power of Flutter widgets - #1165, #958

    In other news:

    • @MooNag & @TesteurManiak have joined the maintainer team!

    Many thanks to these contributors (in no particular order):

    • @MooNag
    • @jetpeter
    • @Firefishy
    • ... and all the maintainers
    Open source →
  28. 3.0.0-beta.3 17 Aug 2022 pre-release

    Nothing published for this version

  29. 3.0.0-beta.2 17 Aug 2022 pre-release withdrawn

    Nothing published for this version

  30. 3.0.0-beta.1 13 Aug 2022 pre-release

    Nothing published for this version

  31. 2.2.0 02 Aug 2022
    Release notes

    Contains the following additions/removals:

    • Added RotatedOverlayImage which supports image rotation and skewing by specifying a 3rd point - #1315
    • Added latLngToScreenPoint and refactored pointToLatLng - #1330

    Contains the following bug fixes:

    • Removed a particularly illusive null-safety bug - #1323

    In other news:

    • Internal lints have been improved - #1319
    • GitHub Actions have been improved - #1323

    Many thanks to these contributors (in no particular order):

    • @Robbendebiene
    • @lsaudon
    • ... and all the maintainers
    Open source →
  32. 2.1.1 25 Jul 2022
    Release notes

    Contains the following additions/removals:

    • None

    Contains the following bug fixes:

    • Removed a particularly illusive null-safety bug - #1318

    In other news:

    • None

    Many thanks to these contributors (in no particular order):

    • sergioisair (tested changes over on Discord)
    • ... and all the maintainers
    Open source →
  33. 2.1.0 22 Jul 2022
    Release notes

    Contains the following additions/removals:

    • Added built in keep alive functionality - #1312
    • Added disposal of AnimationController before it is reassigned - #1303
    • Added better polar projection support and example - #1295
    • Added stroke cap and stroke join options to Polygons - #1295

    Contains the following bug fixes:

    • Removed a class of LateInitializationErrors by reworking MapController lifecycle - #1293 for #1288
    • Improved performance during painting Polygons - #1295

    In other news:

    • None

    Many thanks to these contributors (in no particular order):

    • @Zverik
    • @rbellens
    • @JosefWN
    • ... and all the maintainers
    Open source →
  34. 2.0.0 11 Jul 2022
    Release notes

    "Blocked By OSM"

    Contains the following additions/removals:

    • Added adjustable mouse wheel zoom speed - #1289
    • Multiple changes - #1294
      • Added advanced header support, including 'User-Agent'
      • Refactored TileProviders
      • Resolved multiple TODOs within codebase
      • Removed old deprecated code

    Contains the following bug fixes:

    • Fixed unsymmetrical markers disappearing with unusually positioned anchors - #1291
    • Fixed potential for error 403s due to invalid/blocked 'User-Agent' header - #1294

    In other news:

    • None

    Many thanks to these contributors (in no particular order):

    • @mboe
    • @aytunch
    • @MichalTorma
    • ... and all the maintainers
    Open source →
  35. 2.0.0-beta 10 Jul 2022 pre-release

    Nothing published for this version

  36. 1.1.1 25 Jun 2022
    Release notes

    Contains the following additions/removals:

    • None

    Contains the following bug fixes:

    • None

    In other news:

    • The new documentation website is now live at https://docs.fleaflet.dev. Visit it today to get much improved setup and usage instructions, and more!

    Many thanks to these contributors (in no particular order):

    Open source →
  37. 1.1.0 16 Jun 2022
    Release notes

    Contains the following additions/removals:

    • Deprecated the existing attributionBuilder & added a new method of attribution through AttributionWidget - #1262 for #1040
    • Added more callbacks for pointer gestures - #1275

    Contains the following bug fixes:

    • Fixed double click zoom gesture zooming to incorrect location - #1271 for #1265

    In other news:

    • None

    Many thanks to these contributors (in no particular order):

    • @pmjobin
    • ... and all the maintainers
    Open source →
  38. 1.0.0 07 Jun 2022
    Release notes

    Contains the following additions/removals:

    • Removed inappropriate null-aware checking from moveAndRotate - #1003
    • Removed unused dependencies from pubspec - #1237
    • Migrated to 'flutter_lints' from 'pedantic' - #1183
    • Made boolean values uppercase strings in WMS requests - #1132
    • Made pinch zoom use center of gesture for focus of zoom - #1081
    • Made scroll zoom use center of gesture for focus of zoom - #1191
    • Added stroke, cap, and join options to Polyline - #1077
    • Added option to use pixel cache and length check on Markers to avoid crash - #1147
    • Added MapEventScrollWheelZoom event when zooming using scroll wheel - #1182
    • Added isFilled parameter to Polygon - #501
    • Added example page for Polygons - #501
    • Added maxBounds parameter to MapOptions - #1211
    • Added tileBounds parameter to TileLayerOptions - #1212
    • Added saveLayers parameter to PolylineLayerOptions and PolylinePainter - #1219 (part of #1165) for #1217
    • Added centered labels to Polygon - #1220 based off #800
    • Added alternative Polygon label centering algorithm with an option - #1225
    • Added pointToLatLng method in MapController - #1115 for #496, #607, #981, #1010
    • Added stricter linting rules - #1238
    • Switched to semantic versioning (from 0.15.0 to 1.0.0)
    • Multiple plugin list changes
    • Multiple README changes

    Contains the following bug fixes:

    • Fixed unusual behaviour by cancelling animations on MapController move events - #1043 for #946
    • Fixed ZoomButtonsPluginOption by checking minimum and maximum zoom properly - #1120
    • Fixed external bug by updating dependency on 'positioned_tap_detector_2' - #1047
    • Fixed equal operator types for Coords - #1113
    • Fixed LateInitializationError when using polylineCulling - #1110 for #1119, #1037, #974, #931
    • Fixed FileTileProvider on the web - #1170
    • Fixed Polygon dotted border drawing - #501
    • Fixed example application on Android - #1213
    • Fixed hairline cracks and flickering - #1169
    • Fixed EPSG4326 parameter - #1135
    • Fixed initial bounds in MapOptions - #1216
    • Fixed emission of move event when source is custom - #1232 for #1231
    • Fixed tile layer lag during flings/animations - #1247 (part of #1165) for #1245
    • Fixed/added Flutter 3 compatibility - #1236 for #1234

    In other news:

    • Two more maintainers joined the team (@ibrierley & @JaffaKetchup)
    • A public Discord server was created - join via the README link
    • A new documentation website was started - take a peek via the README link

    Many thanks to these contributors (in no particular order):

    • @JonIsAmazingYa
    • @Robbendebiene
    • @paolorotolo
    • @comatory
    • @chriscant
    • @calmh
    • @FaFre
    • @jithware
    • @stou
    • @Zzerr0r
    • @mo-ah-dawood
    • @a14n
    • @pmjobin
    • @BaptistePires
    • @Zverik
    • @yeleibo
    • @TesteurManiak
    • @sikandersaleem
    • @teuaguiar01
    • @beroso
    • @hschendel
    • @pablojimpas
    • @HugoHeneault
    • @rorystephenson
    • ... and all the maintainers

    Open source →
  39. 0.14.0 13 Sep 2021

    Nothing published for this version

  40. 0.13.1 07 Jun 2021

    Nothing published for this version

  41. 0.13.0 04 Jun 2021

    Nothing published for this version

  42. 0.12.0 16 Mar 2021

    Nothing published for this version

  43. 0.11.0 29 Jan 2021

    Nothing published for this version

  44. 0.10.1 08 Jul 2020

    Nothing published for this version

  45. 0.10.1+1 04 Aug 2020

    Nothing published for this version

  46. 0.10.0 08 Jul 2020

    Nothing published for this version

  47. 0.9.0 07 Apr 2020

    Nothing published for this version

  48. 0.8.2 07 Jan 2020

    Nothing published for this version

  49. 0.8.1 03 Jan 2020

    Nothing published for this version

  50. 0.8.0 16 Dec 2019

    Nothing published for this version

  51. 0.7.3 03 Oct 2019

    Nothing published for this version

  52. 0.7.2 30 Aug 2019

    Nothing published for this version

  53. 0.7.1 28 Aug 2019

    Nothing published for this version

  54. 0.7.0 28 Jul 2019

    Nothing published for this version

  55. 0.7.0+1 28 Jul 2019

    Nothing published for this version

  56. 0.7.0+2 31 Jul 2019

    Nothing published for this version

  57. 0.6.1 07 Jun 2019

    Nothing published for this version

  58. 0.6.1+1 07 Jun 2019

    Nothing published for this version

  59. 0.6.1+2 07 Jun 2019

    Nothing published for this version

  60. 0.6.0 06 Jun 2019

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive