Skip to content

Releases: mapbox/mapbox-maps-flutter

v2.6.0

14 Feb 12:39
Compare
Choose a tag to compare

Features ✨ and improvements 🏁

  • Introduce the experimental Interactions API, a toolset that allows you to handle interactions on both layers and basemap features for styles. This API introduces a new concept called Featureset, which allows Evolving Basemap styles, such as Standard, to export an abstract set of features, such as POI, buildings, and place labels, regardless of which layers they are rendered on. An Interaction can then be targeted to these features, modifying their state when interacted with. For example, you can add a TapInteraction to your map which targets the buildings Featureset. When a user taps on a building, the building will be highlighted and its color will change to blue.
var tapInteraction = TapInteraction(StandardBuildings(),
    (_, feature) {
  mapboxMap.setFeatureStateForFeaturesetFeature(feature, StandardBuildingState(highlight: true));
  log("Building group: ${feature.group}");
});
mapboxMap.addInteraction(tapInteraction);

Specific changes:

  • Introduce the experimental MapboxMap.addInteractions method, which allows you to add interactions to the map.
  • Introduce TapInteraction and LongTapInteraction, which allow you to add tap and longTap interactions to the map.
  • Introduce FeaturesetDescriptor -- and convenience descriptors for StandardBuildings, StandardPOIs, and StandardPlaceLabels -- which allow you to describe the featureset you want Interactions to target.
  • Introduce low-level methods for creating and manipulating interactive features: queryRenderedFeatures, querySourceFeatures, setFeatureState, getFeatureState, removeFeatureState, resetFeatureState
  • For more guidance with using these new features see interactive_features_example.dart.
  • Align tap propagation behavior on Android and iOS.
  • Add support for Swift Package Manager.

Bug fixes 🐞

  • [Android] Fix bug in .setStyleImportConfigProperties() where map values were not being set correctly.
  • [Android] Fix throwing NPE when converting a map with null values to a Value.
  • Align tap propagation behavior on Android and iOS.

Dependency Updates

  • Update Mapbox Maps SDK to 11.10.0
    • For platform-specific updates see: iOS & Android

2.5.2

06 Feb 14:57
3e8eabc
Compare
Choose a tag to compare

Dependency Updates

  • Updated Mapbox Maps SDK to 11.9.2
    • For platform-specific updates see: iOS & Android

2.6.0-rc.1

03 Feb 19:28
5e92a19
Compare
Choose a tag to compare
2.6.0-rc.1 Pre-release
Pre-release

Important

The iOS minimum deployment target is now iOS 14.0.

Features ✨ and improvements 🏁

  • Introduce the experimental Interactions API, a toolset that allows you to handle interactions on both layers and basemap features for styles. This API introduces a new concept called Featureset, which allows Evolving Basemap styles, such as Standard, to export an abstract set of features, such as POI, buildings, and place labels, regardless of which layers they are rendered on. An Interaction can then be targeted to these features, modifying their state when interacted with. For example, you can add a TapInteraction to your map which targets the buildings Featureset. When a user taps on a building, the building will be highlighted and its color will change to blue.
var tapInteraction = TapInteraction(StandardBuildings(),
    (_, feature) {
  mapboxMap.setFeatureStateForFeaturesetFeature(feature, StandardBuildingState(highlight: true));
  log("Building group: ${feature.group}");
});
mapboxMap.addInteraction(tapInteraction);

Specific changes:

  • Introduce the experimental MapboxMap.addInteractions method, which allows you to add interactions to the map.
  • Introduce TapInteraction and LongTapInteraction, which allow you to add tap and longTap interactions to the map.
  • Introduce FeaturesetDescriptor -- and convenience descriptors for StandardBuildings, StandardPOIs, and StandardPlaceLabels -- which allow you to describe the featureset you want Interactions to target.
  • Introduce low-level methods for creating and manipulating interactive features: queryRenderedFeatures, querySourceFeatures, setFeatureState, getFeatureState, removeFeatureState, resetFeatureState
  • For more guidance with using these new features see interactive_features_example.dart.
  • Align tap propagation behavior on Android and iOS.

Dependency Updates

  • Update Mapbox Maps SDK to 11.10.0-rc.1
    • For platform-specific updates see: iOS & Android

2.6.0-beta.1

21 Jan 17:46
75d3c87
Compare
Choose a tag to compare
2.6.0-beta.1 Pre-release
Pre-release

Important

The iOS minimum deployment target is now iOS 14.0.

Features ✨ and improvements 🏁

  • Add support for Swift Package Manager.

Dependency Updates

  • Update Mapbox Maps SDK to 11.10.0-beta.1
    • For platform-specific updates see: iOS & Android

2.5.1

20 Jan 15:59
dfdee57
Compare
Choose a tag to compare

Dependency Updates

  • Updated Mapbox Maps SDK to 11.9.1
    • For platform-specific updates see: iOS & Android

2.5.0

19 Dec 12:43
fec76ec
Compare
Choose a tag to compare

Known issues 🛑

We do not recommend using this version when deploying on Android. We are actively working on a patch release (2.5.1) to fix the following critical issue:

  • When a map is currently visible and user press home button the MapboxRenderThread consumes CPU (potentially keeping one CPU busy).

Features ✨ and improvements 🏁

  • Added viewport support to MapWidget. Control the camera’s initial position and behavior by specifying a ViewportState subclass in the viewport parameter. This allows for centering on specific locations, following the user’s position, or showing an overview of a geometry. If no viewport is provided, the map uses its default camera settings.
    MapWidget(
      viewport: CameraViewportState(
        center: Point(coordinates: Position(-117.918976, 33.812092)),
        zoom: 15.0,
      ),
    );
  • Marked ClipLayer as stable.
  • Updated our generated code to align with iOS and Android platforms. Specifically, the changes:
    • Updated experimental symbolElevationReference property on SymbolLayer.
    • Introduced backgroundPitchAlignment property on BackgroundLayer.
    • Introduced experimental fillZOffset property on FillLayer.
    • Introduced experimental fillExtrusionBaseAlignment and fillExtrusionHeightAlignment properties on FillExtrusionLayer.
    • Marked get and set ZOffset methods on PolygonAnnotationManager, PolylineAnnotationManager, and PointAnnotationManager as experimental.
    • Marked get and set symbolElevationReference methods on PointAnnotationManager as experimental.
    • Marked get and set line trim methods on PolylineAnnotationManager as experimental.
    • Added a property emphasisCircleGlowRange to LocationIndicatorLayer to control the glow effect of the emphasis circle – from the solid start to the fully transparent end.
    • Added experimental ZOffset properties to PolylineAnnotationMessenger, PolygonAnnotationMessenger, and PointAnnotationMessenger.
    • Introduced FillExtrusionBaseAlignment and FillExtrusionHeightAlignment, and BackgroundPitchAlignment enums.

Dependency Updates

  • Updated Mapbox Maps SDK to 11.9.0
    • For platform-specific updates see: iOS & Android

2.5.0-rc.1

11 Dec 15:19
d887f9e
Compare
Choose a tag to compare
2.5.0-rc.1 Pre-release
Pre-release

Features ✨ and improvements 🏁

Updated our generated code to align with iOS and Android platforms. Specifically, the changes:

  • Update experimental symbolElevationReference property on SymbolLayer.
  • Introduce backgroundPitchAlignment property on BackgroundLayer.
  • Introduce experimental fillZOffset property on FillLayer.
  • Introduce experimental fillExtrusionBaseAlignment and fillExtrusionHeightAlignment properties on FillExtrusionLayer.
  • Mark get and set ZOffset methods on PolygonAnnotationManager, PolylineAnnotationManager, and PointAnnotationManager as experimental.
  • Mark get and set symbolElevationReference methods on PointAnnotationManager as experimental.
  • Mark get and set line trim methods on PolylineAnnotationManager as experimental.
  • Add a property emphasisCircleGlowRange to LocationIndicatorLayer to control the glow effect of the emphasis circle – from the solid start to the fully transparent end.
  • Add experimental ZOffset properties to PolylineAnnotationMessenger, PolygonAnnotationMessenger, and PointAnnotationMessenger.
  • Introduce FillExtrusionBaseAlignment and FillExtrusionHeightAlignment, and BackgroundPitchAlignment enums.

Dependency Updates

  • Update Mapbox Maps SDK to 11.9.0-rc.1
    • For platform-specific updates see: iOS & Android

2.5.0-beta.1

04 Dec 17:37
146b113
Compare
Choose a tag to compare
2.5.0-beta.1 Pre-release
Pre-release

Features ✨ and improvements 🏁

  • Added viewport support to MapWidget. Control the camera’s initial position and behavior by specifying a ViewportState subclass in the viewport parameter. This allows for centering on specific locations, following the user’s position, or showing an overview of a geometry. If no viewport is provided, the map uses its default camera settings. PR by @evil159
MapWidget(
  viewport: CameraViewportState(
    center: Point(coordinates: Position(-117.918976, 33.812092)),
    zoom: 15.0,
  ),
);
  • Update Turf dependency to 4.0.0-beta.1

Dependency Updates

  • Update Mapbox Maps SDK to 11.9.0-beta.1
    • For platform-specific updates see: iOS & Android

2.4.1

18 Nov 16:21
a1a98f6
Compare
Choose a tag to compare

Bug fixes 🐞

  • Fix annotation click listeners not working. #777

2.4.0

12 Nov 14:05
be63fee
Compare
Choose a tag to compare

Important

Configuring Mapbox's secret token is no longer required when installing our SDKs.

Features ✨ and improvements 🏁

  • Updated the minimum required Flutter SDK to version 3.22.3 and Dart to version 3.4.4. With the fix for Virtual Display hosting mode on Android in Flutter 3.22, we’ve changed the default map view hosting mode to Virtual Display composition. This update should eliminate the brief visibility of the map after it has been dismissed. #754

  • Introduce experimental property MapboxMap.styleGlyphURL. Use this property to apply custom fonts to the map at runtime, without modifying the base style. #753

  • Expose current map's camera state on CameraChanged event. #704
    You can now observe the map's camera updates with onCameraChangeListener

    onCameraChangeListener(CameraChangedEventData data) {
      print("CameraChangedEventData: timestamp: ${data.timestamp}, cameraState: ${data.cameraState}");
    }
  • Print to console native Maps SDK logs in debug configuration. Logs are proxied only in debug configuration and can be disabled completely by passing environment flag MAPBOX_LOG_DEBUG with false value. #710

  • Remove ProxyBinaryMessenger, instead setup channel with a messageChannelSuffix. #715.

Bug fixes 🐞

  • Fix rare crash in Snapshotter. The crash could happen when creating/destroying multiple instances of Snapshotter in succession. #728
  • Fix a crash that occurs when the widget state is updated before the platform view is created. #724
  • Fix a crash in Snapshotter when GlyphsRasterizationMode is specified in MapSnapshotOptions. #738

Dependency Updates