Skip to content

Releases: mapbox/mapbox-maps-flutter

v2.10.0-beta.1

04 Jul 10:59
6dfe430
Compare
Choose a tag to compare
v2.10.0-beta.1 Pre-release
Pre-release

New Features ✨

  • Introduce new experimental properties: FillLayer.fillConstructBridgeGuardRail, FillLayer.fillBridgeGuardRailColor, FillLayer.fillTunnelStructureColor, CircleLayer.circleElevationReference.
  • Introduce tapEvents and longPressEvents API to the Annotation Managers to handle tap and long press event callbacks for annotations:
    Example usage:
    manager.tapEvents(
      onTap: (annotation) {
        print("Tapped annotation: ${annotation.id}");
      },
    );
    manager.longPressEvents(
      onLongPress: (annotation) {
        print("Long press annotation: ${annotation.id}");
      },
    );

Note

As part of this change, AnnotationOnClickListener is now deprecated.
Tap events will now not propagate to annotations below the topmost one. If you tap on overlapping annotations, only the top annotation's tap event will be triggered.

Dependency Updates

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

v2.9.0

18 Jun 14:54
3f57fcd
Compare
Choose a tag to compare

Important

⚠️ Breaking changes

  • [Android] When a method returns StylePropertyValue the property values will now be typed rather than a string.
  • PointAnnotation.iconImageCrossFade has been deprecated and setting a value to it will not have any impact. Use PointAnnotationManager.iconImageCrossFade instead.
  • The STANDARD_EXPERIMENTAL style has been removed. Use the STANDARD style instead.

New Features ✨

  • Expose new methods for working with style imports: addStyleImportFromJSON, addStyleImportFromURI, updateStyleImportWithJSON, updateStyleImportWithURI, and moveStyleImport.

  • Introduce dragEvents API to the Annotation Managers to handle drag event callbacks for annotations:

    • onBegin: Called when a drag gesture starts on an annotation.
    • onChanged: Called continuously as the annotation is dragged.
    • onEnd: Called once the drag gesture completes.

    Example usage:

    manager.dragEvents(
      onBegin: (annotation) {
        print("Drag started for: ${annotation.id}");
      },
      onChanged: (annotation) {
        print("Dragging at: ${annotation.geometry}");
      },
      onEnd: (annotation) {
        print("Drag ended at: ${annotation.geometry}");
      },
    );
  • Promote interaction APIs to stable. The following APIs are now stable:

    • MapboxMap.addInteraction
    • MapboxMap.removeInteraction
    • MapboxMap.setFeatureStateForFeaturesetDescriptor
    • MapboxMap.setFeatureStateForFeaturesetFeature
    • MapboxMap.getFeatureStateForFeaturesetDescriptor
    • MapboxMap.getFeatureStateForFeaturesetFeature
    • MapboxMap.removeFeatureStateForFeaturesetDescriptor
    • MapboxMap.removeFeatureStateForFeaturesetFeature
    • MapboxMap.resetFeatureStatesForFeatureset
    • MapboxMap.queryRenderedFeaturesForFeatureset
  • Move experimental modelElevationReference property to LocationPuck3D.

Bug fixes 🐞

  • In this release we fixed a bug in our Android conversion code where the property values in StylePropertyValue were being returned as strings rather than their actual type. This fix will cause a behavioral change in the return value of the following methods on Android:
    • getStyleImportConfigProperties, getStyleImportConfigProperty, getStyleLayerProperty, getStyleSourceProperty, getStyleTerrainProperty, getStyleLightProperty.
  • Fixed an issue where style expressions did not override constant values when both were present.
  • [ios] Fix crash when force unwrapping UIImage for point annotations.

Dependency Updates

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

v2.9.0-rc.1

04 Jun 13:28
2477d73
Compare
Choose a tag to compare
v2.9.0-rc.1 Pre-release
Pre-release

Dependency Updates

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

v2.9.0-beta.1

22 May 11:27
f448d73
Compare
Choose a tag to compare
v2.9.0-beta.1 Pre-release
Pre-release

Important

⚠️ Breaking changes

  • [Android] When a method returns StylePropertyValue the property values will now be typed rather than a string.
  • PointAnnotation.iconImageCrossFade has been deprecated and setting a value to it will not have any impact. Use PointAnnotationManager.iconImageCrossFade instead.
  • The STANDARD_EXPERIMENTAL style has been removed. Use the STANDARD style instead.

New Features ✨

  • Expose new methods for working with style imports: addStyleImportFromJSON, addStyleImportFromURI, updateStyleImportWithJSON, updateStyleImportWithURI, and moveStyleImport.
  • Introduce dragEvents API to the Annotation Managers to handle drag event callbacks for annotations:
    • onBegin: Called when a drag gesture starts on an annotation.
    • onChanged: Called continuously as the annotation is dragged.
    • onEnd: Called once the drag gesture completes.
      Example usage:
    manager.dragEvents(
      onBegin: (annotation) {
        print("Drag started for: ${annotation.id}");
      },
      onChanged: (annotation) {
        print("Dragging at: ${annotation.geometry}");
      },
      onEnd: (annotation) {
        print("Drag ended at: ${annotation.geometry}");
      },
    );
  • Promote interaction APIs to stable. The following APIs are now stable:
    • MapboxMap.addInteraction
    • MapboxMap.removeInteraction
    • MapboxMap.setFeatureStateForFeaturesetDescriptor
    • MapboxMap.setFeatureStateForFeaturesetFeature
    • MapboxMap.getFeatureStateForFeaturesetDescriptor
    • MapboxMap.getFeatureStateForFeaturesetFeature
    • MapboxMap.removeFeatureStateForFeaturesetDescriptor
    • MapboxMap.removeFeatureStateForFeaturesetFeature
    • MapboxMap.resetFeatureStatesForFeatureset
    • MapboxMap.queryRenderedFeaturesForFeatureset
  • Move experimental modelElevationReference property to LocationPuck3D.

Bug fixes 🐞

  • In this release we fixed a bug in our Android conversion code where the property values in StylePropertyValue were being returned as strings rather than their actual type. This fix will cause a behavioral change in the return value of the following methods on Android:
    • getStyleImportConfigProperties, getStyleImportConfigProperty, getStyleLayerProperty, getStyleSourceProperty, getStyleTerrainProperty, getStyleLightProperty.

Dependency Updates

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

2.8.0

07 May 17:15
9559451
Compare
Choose a tag to compare

New Features ✨

  • Introduce experimental MapboxMap.startPerformanceStatisticsCollection / MapboxMap.stopPerformanceStatisticsCollection APIs allowing to start / stop collecting map rendering performance statistics.

Bug fixes 🐞

  • Update geometry conversions on Android to use Longitude, Latitude instead of Latitude, Longitude order. This follows the order used by the GeoJSON Specification and the Turf library.
  • [Android] Fix color alpha value conversion.

Dependency Updates

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

2.8.0-rc.1

25 Apr 07:53
390bcb0
Compare
Choose a tag to compare
2.8.0-rc.1 Pre-release
Pre-release

Bug fixes 🐞

  • [Android] Fixed the color conversion for alpha values, ensuring that alpha is correctly represented as a fraction (e.g., alpha / 255).

Dependency Updates

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

2.8.0-beta.1

11 Apr 13:51
af8d1b4
Compare
Choose a tag to compare
2.8.0-beta.1 Pre-release
Pre-release

New Features ✨

  • Introduce experimental MapboxMap.startPerformanceStatisticsCollection / MapboxMap.stopPerformanceStatisticsCollection APIs allowing to start / stop collecting map rendering performance statistics.

Dependency Updates

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

2.7.0

28 Mar 11:37
68f7034
Compare
Choose a tag to compare

New Features ✨

  • Introduce onZoomListener to MapWidget to allow listening to zoom events resulting from user gestures: pinching, double-tapping, or quick-zooming. The event returns MapContentGestureContext, which includes touchPosition (the location of the gesture on the screen), point (the geographical coordinates of the gesture), and gestureState (the state of the gesture). See gestures_example.dart for implementation guidance.

    _onZoom(MapContentGestureContext context) {
      print("OnZoom coordinate: {${context.point.coordinates.lng}, ${context.point.coordinates.lat}}" +
        " point: {x: ${context.touchPosition.x}, y: ${context.touchPosition.y}}" +
        " state: ${context.gestureState}");
    }
  • Expose SymbolLayer.iconSizeScaleRange, SymbolLayer.iconSizeScaleRangeExpression, SymbolLayer.textSizeScaleRange, SymbolLayer.textSizeScaleRangeExpression, LineLayer.lineCrossSlope, LineLayer.lineElevationReference, LineLayer.lineWidthUnit, FillLayer.fillElevationReference.

  • Expose PointAnnotationManager.setIconSizeScaleRange(), PointAnnotationManager.getIconSizeScaleRange(), PointAnnotationManager.setTextSizeScaleRange(), PointAnnotationManager.getTextSizeScaleRange() , PolygonAnnotationManager.setFillElevationReference(), PolygonAnnotationManager.getFillElevationReference(), PolylineAnnotationManager.setLineCrossSlope(), PolylineAnnotationManager.getLineCrossSlope(), PolylineAnnotationManager.setLineElevationReference(), PolylineAnnotationManager.getLineElevationReference(), PolylineAnnotationManager.setLineWidthUnit(), PolylineAnnotationManager.getLineWidthUnit() as experimental.

  • Introduce a setCustomHttpHeader method to allow the plugin to modify HTTP headers dynamically, huge thanks to @azaderdogan

Improvements 🏁

  • Reduce installation size by ≈ 10 MB by redacting the rest of the debug symbols.
  • Reduce the amount of background triggers to optimize battery usage when the app is not in the focus anymore.
    Reduce CPU load by adding exponential backoff for failed connection attempts
  • Experimental StandardBuildingState has been removed. Use StandardBuildingsState instead.
  • Vector icons supported in the location indicator layer
    • top-image, bearing-image, and shadow-image properties on LocationIndicatorLayer are now paint properties instead of layout properties.

Bug fixes 🐞

  • Fix Dynamic View Annotations placement on high zoom levels
  • Fix line placement symbol disappearing issue when in zoom level between 5 and 6
  • Fixing missing vector images after style change
  • Fix background layer not being updated on raster image was in-place update
  • Fix background layer not being updated on color theme change
  • Fixing LUT (look-up table) not being applied to in-place updated images.
  • Fixing in-place updates for SDF (Signed Distance Field) images.
  • Fix mipmaps for images updated inplace
  • Support positive mask coordinates for vector images.
  • Fix dark shades of gradient effect in the night preset
  • Fix rarely missing background color
  • Fix Custom Raster Source behavior on re-creation
  • Previously, when the Custom Raster source was re-created within the same call chain, its rendering counterparts were not updated. This caused the CustomRasterSourceTileRenderer to remain not re-initialized.
  • [Android] Fix rare NPE upon native view disposal.
  • Fixed incorrect rgba to hsla conversion for white color
  • Fix vector images rasterization
  • Make katakana and CJK symbol rendered correctly in vertical writing mode

Other changes 🎉

  • Mark ClipLayer.clipLayerScope and ClipLayer.clipLayerTypes as stable
  • Mark BackgroundLayer.backgroundPitchAlignment as experimental

Dependency Updates

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

v2.6.2

20 Mar 11:09
1d94088
Compare
Choose a tag to compare

Bug fixes 🐞

  • Fix a bug that may cause style packs to be either inaccessible or incorrect when updating an older tile store database created with Maps SDK 11.9 or earlier versions. In systems that have already used Maps SDK 11.10.0 through 11.10.1, a re-download of style packs may be necessary.
  • Fix a map start time regression by speed up tile loading.

Dependency Updates

  • Update Mapbox Maps SDK to 11.10.2 (iOS) & 11.10.3 (Android)
    • For platform-specific updates see: iOS & Android

v2.7.0-rc.1

13 Mar 17:45
6e4401e
Compare
Choose a tag to compare
v2.7.0-rc.1 Pre-release
Pre-release

New Features ✨

  • Introduces a setCustomHttpHeader method to allow the plugin to modify HTTP headers dynamically. #886
  • Update Maps SDK to 11.11.0-rc.1
    • Expose experimental API for setting ColorTheme on style imports.
    • Expose use-theme properties for all annotation types and Puck3D layer.

Bug fixes 🐞

  • Fixed incorrect rgba to hsla conversion for white color
  • Fix vector images rasterization
  • Make katakana and CJK symbol rendered correctly in vertical writing mode