Releases: mapbox/mapbox-maps-flutter
v2.10.0-beta.1
New Features ✨
- Introduce new experimental properties:
FillLayer.fillConstructBridgeGuardRail
,FillLayer.fillBridgeGuardRailColor
,FillLayer.fillTunnelStructureColor
,CircleLayer.circleElevationReference
. - Introduce
tapEvents
andlongPressEvents
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
v2.9.0
Important
- [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. UsePointAnnotationManager.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
, andmoveStyleImport
. -
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 toLocationPuck3D
.
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
v2.9.0-rc.1
v2.9.0-beta.1
Important
- [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. UsePointAnnotationManager.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
, andmoveStyleImport
. - 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 toLocationPuck3D
.
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
2.8.0
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
2.8.0-rc.1
2.8.0-beta.1
New Features ✨
- Introduce experimental
MapboxMap.startPerformanceStatisticsCollection
/MapboxMap.stopPerformanceStatisticsCollection
APIs allowing to start / stop collecting map rendering performance statistics.
Dependency Updates
2.7.0
New Features ✨
-
Introduce
onZoomListener
toMapWidget
to allow listening to zoom events resulting from user gestures: pinching, double-tapping, or quick-zooming. The event returnsMapContentGestureContext
, which includestouchPosition
(the location of the gesture on the screen),point
(the geographical coordinates of the gesture), andgestureState
(the state of the gesture). Seegestures_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. UseStandardBuildingsState
instead. - Vector icons supported in the location indicator layer
top-image
,bearing-image
, andshadow-image
properties onLocationIndicatorLayer
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
andClipLayer.clipLayerTypes
as stable - Mark
BackgroundLayer.backgroundPitchAlignment
as experimental
Dependency Updates
v2.6.2
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
v2.7.0-rc.1
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