Skip to content

Releases: josxha/flutter-maplibre

v0.2.0

31 Dec 15:13
fc0a06b
Compare
Choose a tag to compare

This release is a collection of user affecting changes along a couple of new features and bug fixes.
Head over to the migration guide to learn more on how to update your implementation.

A big thanks to @gabbopalma for his contributions in this release.

Breaking Changes

  • Rename the Layer postfix of the more low level style classes to StyleLayer.
  • Remove web-only map controls (ScaleControl, GeolocateControl, AttributionControl, FullscreenControl, LogoControl, NavigationControl, TerrainControl).
  • Remove MapLibre Native specific User Interface options (logo, attribution, compass).
  • Rename ZoomButtons to ControlButtons.
  • Move style related controller calls to the StyleController that can be accessed via a nullable mapController.style field.
  • Return the StyleController in the onStyleLoaded() callback and in the MapEventStyleLoaded event.
  • An ImageSource now requires a static typed LngLatQuad object.
  • Set the minimum required Flutter version to 3.27.

New Features

  • Bump MapLibre Native on Android to 11.7.+.
  • Bump MapLibre GL JS on Web to version 5.
  • Add style.setProjection() to switch to globe projection programmatically.
  • Add a user location button to the ControlButtons.
  • Bump ktlint to 0.4.19 and gradle to 8.6.1.
  • Bump jni and jnigen to 0.13.0 and migrate bindings.
  • Widen the gradle dependency constraints to allow patch updates.
  • Add logo as pub.dev screenshot.
  • Structure the API docs in topics.
  • Add an internal WidgetStateNative for better code reuse in the upcoming iOS release.

Bug Fixes

  • Fix can't rotate with two fingers on web.
  • Fix text overflow in the scale bar widget.
  • Fix deprecations introduced in Flutter 3.27.

Misc

  • Enhance documentation.
  • Build example app with java 21

Contributors: @gabbopalma, @josxha
Full Changelog: v0.1.2...v0.2.0

v0.1.2

09 Nov 20:00
f129e86
Compare
Choose a tag to compare

This release adds the last missing features for Android and Web, that were planned for now. The package will continue its ongoing efforts for stability before work to add iOS as a supported platform starts.

New Features

  • Add OfflineManager for offline maps, cache management and bulk downloading.
  • Add PermissionsManager to check and request location permissions.
  • Add WidgetLayer to support widgets as Markers on the map.
  • Add alternative Flutter platform view options for Texture Layer Hybrid Composition, Hybrid Composition, Virtual Display.
  • Bump MapLibre Native on Android to version 11.6.+.
  • Add web-only controller functions toScreenLocationSync(), toLngLatSync(), toScreenLocationsSync(), toLngLatsSync(), getMetersPerPixelAtLatitudeSync() and getVisibleRegionSync().
  • Add MapOptions.of(context) and MapOptions.maybeOf(context).
  • Add padding and alignment parameters to the MapScalebar widget.

Bug Fixes

  • Fix WebAssembly builds.
  • Remove unused flutter_markdown package.

Misc

  • Add unit tests, add Android integration tests.
  • Use codecov to monitor test coverage.
  • Improve file structure by using a /platform directory.

Contributors: @josxha
Full Changelog: v0.1.1...v0.1.2

v0.1.1

29 Oct 06:41
Compare
Choose a tag to compare

New Features

  • Add controller.queryLayers() to check what layers have been clicked.
  • Add scalebar, zoom buttons, compass and attribution widgets as an unified user interface.
  • Improve hash distribution
  • Add MapOptions parameters to toggle platform specific UIs.

Bug Fixes

  • Fix controller.getVisibleRegion() throws exception on Android.

Contributors: @josxha
Full Changelog: v0.1.0...v0.1.1

v0.1.0

16 Oct 09:38
Compare
Choose a tag to compare

Breaking Changes

  • Use a "Web" prefix for all web-only controls, for example WebGeolocateControl.
  • Rename web-only MapOptions.controls to MapOptions.webControls.
  • Rename jumpTo() to moveCamera() and flyTo() to animateCamera().
  • Add init prefix to not modifiable MapOptions parameters.
  • Remove click callbacks in favor of the event system.
  • Bump minimum Flutter version to 3.24.0 (Minimum Dart version of 3.5.0).
  • Can't await the end of animateCamera() in this version.

Read the Upgrade Guide for instructions on how to upgrade.

New Features

  • Bump MapLibre Android SDK to 11.5.1.
  • Add high level AnnotationLayers as easy to use annotations.
  • Use jnigen for direct interop with Java.
  • Add user location to the map.
  • Check Style for Kotlin

Contributors: @josxha
Full Changelog: v0.0.2...v0.1.0

v0.0.2

25 Sep 22:53
Compare
Choose a tag to compare

Features

  • Add event system to the map.
  • Bump MapLibre Native on Android to version 11.5.0.
  • Bump other gradle dependencies.
  • Add and remove sources to the active map style programmatically.
  • Add and remove layers to the active map style programmatically.
  • Add minZoom, maxZoom, minPitch, maxPitch and maxBounds parameter.
  • Add duration parameters to flyTo().
  • Add option to disable some or all input gestures.
  • flyTo() returns after the animation completes or throws an exception if it
    has been cancelled.
  • Deprecate tilt parameters in favor of pitch.
  • Deprecate onClick, onDoubleClick, onSecondaryClick and onLongClick in
    favor of the event system.

Bug fixes

  • Fix jumpTo() never returns on Android.

Contributors: @gabbopalma, @josxha
Full Changelog: v0.0.1+1...v0.0.2

v0.0.1+1

12 Sep 20:12
Compare
Choose a tag to compare
  • fix links to website and embeeded screenshots in readme
  • remove unused plugin_platform_interface dependency

v0.0.1

12 Sep 20:08
Compare
Choose a tag to compare
  • Initial Release
  • Implement basic map for android and web
  • Add documentation