Releases: mapbox/mapbox-maps-android
Releases · mapbox/mapbox-maps-android
v11.7.0
11.7.0 September 26, 2024
Features ✨ and improvements 🏁
- [compose] Introduce
PointAnnotationState.iconOcclusionOpacity
,PointAnnotationState.textOcclusionOpacity
to control occlusion opacity for individual point annotation. - [compose] Remove
MapboxExperimental
fromPolylineAnnotationGroupState.lineOcclusionOpacity
,PointAnnotationGroupState.iconOcclusionOpacity
,PointAnnotationGroupState.textOcclusionOpacity
. - [compose] Expose data-driven properties on
AnnotationGroupState
s. Now it's possible to set data-driven properties globally onAnnotationGroupState
and specify per-annotation overrides inAnnotationState
. Setting global property value onAnnotationGroupState
could introduce performance improvements when the amount of annotations is large. - [compose] Remove experimental
ModelLayerState.modelFrontCutoff
. - [compose] Introduce experimental
GeoJsonSourceState.autoMaxZoom
property to resolve rendering artifacts for features that use wide blur (e.g. fill extrusion ground flood light or circle layer). - [compose] Introduce experimental
ClipLayerState.clipLayerScope
API to remove data from certain style fragments only. - [compose] Introduce experimental
PointAnnotationState.symbolZOffset
property. - [compose] Introduce experimental
PointAnnotationGroupState.symbolElevationReference
property. - [compose] Introduce experimental
SymbolLayerState.symbolElevationReference
andSymbolLayerState.symbolZOffset
properties. - [compose] Introduce experimental
SymbolLayerState.symbolZOffsetTransition
API. - [compose] Introduce experimental
StyleInteractionsState
,StyleImportsInteractionsState
,LayerInteractionsState
to handle interactions to the style, style imports and layers. - [compose] Introduce experimental
StyleImport
composable functions to acceptStyleImportsInteractionsState
as an parameter. - [compose] Introduce experimental
LayerInteractionsState
as part of*LayerState
of layers that's driven by a source. - [compose] Introduce experimental
MapState.getFeatureState
,MapState.setFeatureState
,MapState.removeFeatureState
andMapState.resetFeatureState
APIs. - [compose] Introduce
StyleState
that groupsStyleImportsConfig
,StyleInteractionsState
,Projection
,AtmosphereState
,TerrainState
,LightsState
,styleTransition
. - [compose] Introduce
GenericStyle
composable function that usesStyleState
as parameter and deprecateGenericStyle
that takes individual light/terrain/projection states. - [compose] Introduce
MapStyle
composable function that usesStyleState
as parameter and deprecateMapStyle
that takes individual light/terrain/projection states. - [compose] Introduce
StyleImportState
that groupsImportConfigs
andStyleImportInteractionsState
. - [compose] Introduce
StyleImport
composable function that usesStyleImportState
as parameter and deprecateStyleImport
that takesImportConfigs
. - Publish Mapbox Maps Android artifacts using NDK 27 and support for 16 KB page sizes.
- The new artifacts are available by appending
-ndk27
to the artifact ID (for example,com.mapbox.maps:android-ndk27:11.7.0
).
- The new artifacts are available by appending
- Introduce experimental interactive feature elements and related APIs. Those APIs provide the convenient way to add the click / long click listener to layer / featureset / map itself with
MapboxMap.addInteraction
. - Expose
lineTrimColor
andlineTrimFadeRange
onLineLayer
which allow to set custom color for trimmed line and fade effect for trim. Update navigation example to use those properties. - Introduce
PointAnnotation.iconOcclusionOpacity
,PointAnnotation.textOcclusionOpacity
to control occlusion opacity for individual point annotation. - Remove
MapboxExperimental
fromSymbolLayer.iconOcclusionOpacity
,SymbolLayer.textOcclusionOpacity
and these properties are now supported on global zoom levels with default value changed to0
. - Remove
MapboxExperimental
fromPolylineAnnotationManager.lineOcclusionOpacity
,PointAnnotationManager.iconOcclusionOpacity
,PointAnnotationManager.textOcclusionOpacity
. - Expose data-driven properties on
AnnotationManager
s. Now it's possible to set data-driven properties globally onAnnotationManager
and specify per-annotation overrides. Setting global property value onAnnotationManager
could introduce performance improvements when the amount of annotations is large. - Remove experimental
ModelLayer.modelFrontCutoff
. - Introduce experimental
GeoJsonSource.autoMaxZoom
property to resolve rendering artifacts for features that use wide blur (e.g. fill extrusion ground flood light or circle layer). - Introduce static
HttpServiceFactory.setCancellationCallback
API. - Reduce style parsing time.
- Enable multiple meta tiling schemes for composited sources.
- Expose experimental
ClipLayer.clipLayerScope
API to remove data from certain style fragments only. - Expose experimental
PointAnnotation.symbolZOffset
property. - Expose experimental
PointAnnotationManager.symbolElevationReference
property. - Expose experimental
SymbolLayer.symbolElevationReference
andSymbolLayer.symbolZOffset
properties. - Expose experimental
SymbolLayer.symbolZOffsetTransition
API. - Introduce experimental
MapboxMap.queryRenderedFeature
allowing to get anInteractiveFeature
for given geometry,FeaturesetHolder
and optional filter. - Introduce experimental
FillExtrusionLayer.fillExtrusionLineWidth
andFillExtrusionLayerState.fillExtrusionLineWidth
in Compose allowing to switch fill extrusion rendering into wall rendering mode. Use this property to render the feature with the given width over the outlines of the geometry. - Add missing experimental annotation to
PointAnnotationManager.symbolZOffset
andPolylineAnnotationManager.lineZOffset
- Deprecate
PolylineAnnotationManager.lineTrimColor
in favour ofPolylineAnnotationManager.lineTrimColorString
/PolylineAnnotationManager.lineTrimColorInt
.
Bug fixes 🐞
- [compose] Fix
ViewAnnotation
size not being updated when content layout changes. - [compose] Fix
UnsatisfiedLinkError
issue when rendering preview. - Return parsing errors if runtime added style import JSON is not valid.
- Fix color theme change before the tiles are updated.
- Fix annotation issues with click / long click callback ordering and dragging. Now the order of triggering the callbacks / dragging is determined: from top-level rendered annotation to bottom-level one.
- Fix
OnAnnotationInteractionListener
not triggered if anyOnAnnotationClickListener.onAnnotationClick
returns true. - Fix incorrect layer updates when using
ClipLayer.clipLayerTypes
orClipLayerState.clipLayerTypes
in Compose. - Fix shadow rendering issues when using
FillExtrusionLayer.fillExtrusionCutoffFadeRange
orFillExtrusionLayerState.fillExtrusionCutoffFadeRange
. - Significantly reduce the rate at which raster-particle trails cross each other.
- Fix normal offset to improve shadow accuracy.
- Fix data synchronization between renderer and the main threads on map resize.
- Regenerate location indicator mipmap on image change.
- Fix landmark visibility issues near tile borders.
- Fix elevated line depth occlusion issue in 2D mode.
- Fix Dynamic View Annotation position update for annotated geojson feature with
allowZElevate
to be true. - Fix race condition between
setFeatureState
andremoveFeatureState
/resetFeatureStates
resulting in feature state not being applied or removed. - Fix a crash when calling
CameraAnimationsPlugin.easeTo()
with empty camera options orCameraAnimationsPlugin.playAnimatorsSequentially()
/CameraAnimationsPlugin.playAnimatorsTogether()
with an empty array of animators. - Fix ongoing animations being canceled when
CameraAnimationsPlugin.flyTo()
with empty camera options is called. - Fix simultaneous scale and rotation gestures not working when the first registered rotation is a scale one.
- Fix crash on Android tilestore where null data was returned.
- Fix the incorrect behaviour when using
SymbolLayer.symbolZOrder
property. - Fix retrieval of tilesets for 3d tiles in offline mode.
- Fix rendering errors of patterns on high zoom levels.
- Fix a bug where style changes weren't reflected after the source layer of a layer was changed.
Dependencies
- Update gl-native to v11.7.0 and common to v24.7.0.
v11.7.0-rc.1
11.7.0-rc.1 September 16, 2024
Breaking changes ⚠️
- Experimental interactive features API changes:
FeatureStateValue
was removed in favour of genericFeatureState
.MapboxMap.setFeatureState
takes a singleFeatureState
class instead of varargFeatureStateValue
.BaseInteractiveFeature
was removed in favour ofInteractiveFeature
.InteractiveFeature.state
is now a generic ofFeatureState
.MapboxMap.getFeatureState
signature changed to be generic and return typedFeatureState
in the newFeatureStateCallback
.
Features ✨ and improvements 🏁
- Introduce experimental
MapboxMap.queryRenderedFeature
allowing to get anInteractiveFeature
for given geometry,FeaturesetHolder
and optional filter. - Introduce experimental
FillExtrusionLayer.fillExtrusionLineWidth
andFillExtrusionLayerState.fillExtrusionLineWidth
in Compose allowing to switch fill extrusion rendering into wall rendering mode. Use this property to render the feature with the given width over the outlines of the geometry. - Add missing experimental annotation to
PointAnnotationManager.symbolZOffset
andPolylineAnnotationManager.lineZOffset
- Deprecate
PolylineAnnotationManager.lineTrimColor
in favour ofPolylineAnnotationManager.lineTrimColorString
/PolylineAnnotationManager.lineTrimColorInt
. - [compose] Introduce experimental
StyleInteractionsState
,StyleImportsInteractionsState
,LayerInteractionsState
to handle interactions to the style, style imports and layers. - [compose] Introduce experimental
StyleImport
composable functions to acceptStyleImportsInteractionsState
as an parameter. - [compose] Introduce experimental
LayerInteractionsState
as part of*LayerState
of layers that's driven by a source. - [compose] Introduce experimental
MapState.getFeatureState
,MapState.setFeatureState
,MapState.removeFeatureState
andMapState.resetFeatureState
APIs. - [compose] Introduce
StyleState
that groupsStyleImportsConfig
,StyleInteractionsState
,Projection
,AtmosphereState
,TerrainState
,LightsState
,styleTransition
. - [compose] Introduce
GenericStyle
composable function that usesStyleState
as parameter and deprecateGenericStyle
that takes individual light/terrain/projection states. - [compose] Introduce
MapStyle
composable function that usesStyleState
as parameter and deprecateMapStyle
that takes individual light/terrain/projection states. - [compose] Introduce
StyleImportState
that groupsImportConfigs
andStyleImportInteractionsState
. - [compose] Introduce
StyleImport
composable function that usesStyleImportState
as parameter and deprecateStyleImport
that takesImportConfigs
.
Bug fixes 🐞
- Fix a crash when calling
CameraAnimationsPlugin.easeTo()
with empty camera options orCameraAnimationsPlugin.playAnimatorsSequentially()
/CameraAnimationsPlugin.playAnimatorsTogether()
with an empty array of animators. - Fix ongoing animations being canceled when
CameraAnimationsPlugin.flyTo()
with empty camera options is called. - Fix simultaneous scale and rotation gestures not working when the first registered rotation is a scale one.
- Fix crash on Android tilestore where null data was returned.
- Fix the incorrect behaviour when using
SymbolLayer.symbolZOrder
property. - Fix retrieval of tilesets for 3d tiles in offline mode.
- Fix rendering errors of patterns on high zoom levels.
- Fix a bug where style changes weren't reflected after the source layer of a layer was changed.
v11.6.1
11.6.1 September 10, 2024
Bug fixes 🐞
- Fix for offline retrieval of 3D tiles for
Style.STANDARD
.
Dependencies
- Update gl-native to v11.6.1 and common to v24.6.1.
v10.18.4
10.18.4 September 06, 2024
Features ✨ and improvements 🏁
- Remove explicit main thread locking when clicking / long clicking / interacting with annotations created with
CircleAnnotationManager
,PointAnnotationManager
,PolygonAnnotationManager
,PolylineAnnotationManager
that could lead to an ANR.
v11.7.0-beta.1
11.7.0-beta.1 September 03, 2024
Features ✨ and improvements 🏁
- [compose] Introduce
PointAnnotationState.iconOcclusionOpacity
,PointAnnotationState.textOcclusionOpacity
to control occlusion opacity for individual point annotation. - [compose] Remove
MapboxExperimental
fromPolylineAnnotationGroupState.lineOcclusionOpacity
,PointAnnotationGroupState.iconOcclusionOpacity
,PointAnnotationGroupState.textOcclusionOpacity
. - [compose] Expose data-driven properties on
AnnotationGroupState
s. Now it's possible to set data-driven properties globally onAnnotationGroupState
and specify per-annotation overrides inAnnotationState
. Setting global property value onAnnotationGroupState
could introduce performance improvements when the amount of annotations is large. - [compose] Remove experimental
ModelLayerState.modelFrontCutoff
. - [compose] Introduce experimental
GeoJsonSourceState.autoMaxZoom
property to resolve rendering artifacts for features that use wide blur (e.g. fill extrusion ground flood light or circle layer). - [compose] Introduce experimental
ClipLayerState.clipLayerScope
API to remove data from certain style fragments only. - [compose] Introduce experimental
PointAnnotationState.symbolZOffset
property. - [compose] Introduce experimental
PointAnnotationGroupState.symbolElevationReference
property. - [compose] Introduce experimental
SymbolLayerState.symbolElevationReference
andSymbolLayerState.symbolZOffset
properties. - [compose] Introduce experimental
SymbolLayerState.symbolZOffsetTransition
API. - Introduce experimental interactive feature elements and related APIs. Those APIs provide the convenient way to add the click / long click listener to layer / featureset / map itself with
MapboxMap.addInteraction
. - Expose
lineTrimColor
andlineTrimFadeRange
onLineLayer
which allow to set custom color for trimmed line and fade effect for trim. Update navigation example to use those properties. - Introduce
PointAnnotation.iconOcclusionOpacity
,PointAnnotation.textOcclusionOpacity
to control occlusion opacity for individual point annotation. - Remove
MapboxExperimental
fromSymbolLayer.iconOcclusionOpacity
,SymbolLayer.textOcclusionOpacity
and these properties are now supported on global zoom levels with default value changed to0
. - Remove
MapboxExperimental
fromPolylineAnnotationManager.lineOcclusionOpacity
,PointAnnotationManager.iconOcclusionOpacity
,PointAnnotationManager.textOcclusionOpacity
. - Expose data-driven properties on
AnnotationManager
s. Now it's possible to set data-driven properties globally onAnnotationManager
and specify per-annotation overrides. Setting global property value onAnnotationManager
could introduce performance improvements when the amount of annotations is large. - Remove experimental
ModelLayer.modelFrontCutoff
. - Introduce experimental
GeoJsonSource.autoMaxZoom
property to resolve rendering artifacts for features that use wide blur (e.g. fill extrusion ground flood light or circle layer). - Introduce static
HttpServiceFactory.setCancellationCallback
API. - Reduce style parsing time.
- Enable multiple meta tiling schemes for composited sources.
- Expose experimental
ClipLayer.clipLayerScope
API to remove data from certain style fragments only. - Expose experimental
PointAnnotation.symbolZOffset
property. - Expose experimental
PointAnnotationManager.symbolElevationReference
property. - Expose experimental
SymbolLayer.symbolElevationReference
andSymbolLayer.symbolZOffset
properties. - Expose experimental
SymbolLayer.symbolZOffsetTransition
API.
Bug fixes 🐞
- [compose] Fix
UnsatisfiedLinkError
issue when rendering preview. - Fix annotation issues with click / long click callback ordering and dragging. Now the order of triggering the callbacks / dragging is determined: from top-level rendered annotation to bottom-level one.
- Fix
OnAnnotationInteractionListener
not triggered if anyOnAnnotationClickListener.onAnnotationClick
returns true. - Fix incorrect layer updates when using
ClipLayer.clipLayerTypes
orClipLayerState.clipLayerTypes
in Compose. - Fix shadow rendering issues when using
FillExtrusionLayer.fillExtrusionCutoffFadeRange
orFillExtrusionLayerState.fillExtrusionCutoffFadeRange
. - Significantly reduce the rate at which raster-particle trails cross each other.
- Fix normal offset to improve shadow accuracy.
- Fix data synchronization between renderer and the main threads on map resize.
- Regenerate location indicator mipmap on image change.
- Fix landmark visibility issues near tile borders.
- Fix elevated line depth occlusion issue in 2D mode.
- Fix Dynamic View Annotation position update for annotated geojson feature with
allowZElevate
to be true. - Fix race condition between
setFeatureState
andremoveFeatureState
/resetFeatureStates
resulting in feature state not being applied or removed.
Dependencies
- Update gl-native to v11.7.0-beta.2 and common to v24.7.0-beta.2.
Known issues
- Experimental
GeoJsonSource.autoMaxZoom
andGeoJsonSourceState.autoMaxZoom
will returnnull
value even after it's set.
v11.6.0
11.6.0 August 16, 2024
Breaking changes ⚠️
- [compose] Remove
StyleImage
constructor withBitmapImage
, userememberStyleImage
composable function to build it instead. - [compose] Move layer properties within
*Layer
composable functions to*LayerState
classes, use the convenient method*Layer(sourceState, layerId, init)
with trailing lambda for easier migration. - [compose] Move
onClick
listener from last parameter to the second last parameter ofAnnotation
andAnnotationGroup
composable functions. - [compose] Move properties within
*Annotation
and*AnnotationGroup
composable functions to the new*AnnotationState
and*AnnotationGroupState
classes, use the convenient method*Annotation(point, onClick, init)
and*AnnotationGroup(annotations, annotationConfig, onClick, init)
with trailing lambda for easier migration. - [compose] Replace color int and color string property types in
*Annotation
with composeColor
type. - [compose] Replace
PointAnnotation.iconImageBitmap
andPointAnnotation.iconImage
withPointAnnotationState.iconImage
withIconImage
type,IconImage
can be constructed with either a image idString
or aBitmap
, and introducedrememberIconImage
to build and remember a bitmap fromPainter
or from a drawable resource id. - [compose] Introduce
StandardStyleConfigurationState
class to hold the configurations ofMapboxStandardStyle
, and movelightPreset
config fromMapboxStandardStyle
toStandardStyleConfigurationState
; consider using overload methodMapboxStandardStyle
with trailing init lambda for easier migration. - Experimental
CustomRasterSourceOptions.Builder
now acceptsCustomRasterSourceClient
containingCustomRasterSourceTileStatusChangedCallback
instead ofCustomRasterSourceTileStatusChangedCallback
interface directly.
Features ✨ and improvements 🏁
- [compose] Promote Compose Extension to stable.
- [compose] Mark
MapState
,MapViewportState
,TerrainState
, light states and source states asStable
as they are internally backed byMutableState
. - [compose] Add more config options including
showPlaceLabels
,showRoadLabels
,showPointOfInterestLabels
,showTransitLabels
andfont
toStandardStyleConfigurationState
. - [compose] Introduce
StyleImage
constructor withImage
type, and addrememberStyleImage
composable functions to create and rememberStyleImage
. - [compose] Add extension function to
*AnnotationOptions
to handle composeColor
, use it in*AnnotationGroup
composable functions for convenience. - [compose] Add style transition parameter in
GenericStyle
,MapStyle
andMapboxStandardStyle
. - [compose] Extend
StandardStyleConfigurationState
withtheme: ThemeValue
andshow3dObjects: BooleanValue
properties. - [compose] Introduce composable function
MapboxStandardSatelliteStyle
with dedicatedStandardSatelliteStyleConfigurationState
. - Add new
Style.STANDARD_SATELLITE
style that combines updated satellite imagery and vector layers. - Introduce new import configuration properties for
Style.STANDARD
:theme
,show3dObjects
which could be set withStyle.setStyleImportConfigProperty
. - Modify
awaitCameraForCoordinates
extension function to useMapCameraManagerDelegate
as receiver type. - Modify
queryRenderedFeatures
andquerySourceFeatures
extension functions to useMapFeatureQueryDelegate
as receiver type. - Introduce asynchronous overloaded method
ViewAnnotationManager.cameraForAnnotations
better covering some corner cases. - Make use of asynchronous
MapboxMap.cameraForCoordinates
in Mapbox overlay plugin better covering some corner cases. - Mark synchronous methods
MapboxMap.cameraForCoordinates
andViewAnnotationManager.cameraForAnnotations
with@MapboxDelicateApi
. Consider using asynchronous overloaded methods instead. - Deprecate
MapboxMap.getDebug()
/MapboxMap.setDebug()
in favour ofMapView.debugOptions
taking new enhanced enumMapViewDebugOptions
as an argument. - Introduce
MapViewDebugOptions.CAMERA
andMapViewDebugOptions.PADDING
debug options to track current camera state and visualize camera paddings. - Expose experimental
ClipLayer
to remove 3D data (fill extrusions, landmarks, instanced trees) and symbols. - Enable r8 optimisations for all the Mapbox extensions and plugins in consumer proguard file, the optimisation will apply when minify is enabled in app's build settings.
- Enable direct rendering into
CustomRasterSource
tiles. - Introduce a new
allowZElevate
option inViewAnnotationOptions
. When set to true, the annotation will be positioned on the rooftops of buildings, including both fill extrusions and models. - Support negative values for
CircleLayer.circleBlur
to render inner glow effect. - Support for model-uris as properties in geojson model layers.
- Allow usage of the tile leveling schemes with maximum zoom exceeding 16.
Bug fixes 🐞
- [compose] Fix minZoom/maxZoom not working for layers.
- [compose] Fix
java.lang.UnsupportedOperationException
when settingtextWritingMode
andtextVariableAnchor
. - Fix compass view ignoring
enabled
option when it is set inupdateSettings()
. - Fix background locations not received when unregistering other providers.
- Improve
linePattern
precision. - Fix local glyph rasterization to ensure the correct Typeface is used.
- Fix
CustomRasterSource
rendering when camera shows antimeridian or multiple world copies. - Fix elevated line occlusion issue in 2D mode.
- Fix blinking of layer as you are panning across the antimeridian.
- Fix
modelFrontCutoff
property for meshopt models. - Align location provider default displacement for Android and Google providers.
Dependencies
- Update gl-native to v11.6.0 and common to v24.6.0.
v11.6.0-rc.1
11.6.0-rc.1 August 02, 2024
Features ✨ and improvements 🏁
- Support negative values for
CircleLayer.circleBlur
to render inner glow effect. - Add new
Style.STANDARD_SATELLITE
style that combines updated satellite imagery and vector layers. More information could be found here. - Introduce new import configuration properties for
Style.STANDARD
:theme
,show3dObjects
which could be set withStyle.setStyleImportConfigProperty
. More information could be found here. - [compose] Extend
StandardStyleConfigurationState
withtheme: ThemeValue
andshow3dObjects: BooleanValue
properties. - [compose] Introduce composable function
MapboxStandardSatelliteStyle
with dedicatedStandardSatelliteStyleConfigurationState
.
Bug fixes 🐞
- Fix elevated line occlusion issue in 2D mode.
Dependencies
- Update gl-native to v11.6.0-rc.1 and common to v24.6.0-rc.1.
Known issues
- Experimental
ClipLayer
's propertyclipLayerTypes
is not updated in runtime. The fix is expected to land in stable 11.6.0.
v11.5.1
11.5.1 July 25, 2024
Bug fixes 🐞
- Fix local glyph rasterization to ensure the correct Typeface is used.
- Fix map freezing and huge memory consumption issue when using 3D models.
- Fix
CustomRasterSource
rendering when camera shows antimeridian or multiple world copies. - Fix shadow rendering issues with
FillExtrusionLayer.fillExtrusionCutoffFadeRange
.
Dependencies
- Update gl-native to v11.5.2.
v10.18.3
10.18.3 July 22, 2024
Bug fixes 🐞
- Fix multiple annotation clusters not supported issue.
v11.6.0-beta.1
11.6.0-beta.1 July 19, 2024
Breaking changes ⚠️
- [compose] Remove
StyleImage
constructor withBitmapImage
, userememberStyleImage
composable function to build it instead. - [compose] Move layer properties within
*Layer
composable functions to*LayerState
classes, use the convenient method*Layer(sourceState, layerId, init)
with trailing lambda for easier migration (see migration example). - [compose] Move
onClick
listener from last parameter to the second last parameter ofAnnotation
andAnnotationGroup
composable functions. - [compose] Move properties within
*Annotation
and*AnnotationGroup
composable functions to the new*AnnotationState
and*AnnotationGroupState
classes, use the convenient method*Annotation(point, onClick, init)
and*AnnotationGroup(annotations, annotationConfig, onClick, init)
with trailing lambda for easier migration (see migration example). - [compose] Replace color int and color string property types in
*Annotation
with composeColor
type. - [compose] Replace
PointAnnotation.iconImageBitmap
andPointAnnotation.iconImage
withPointAnnotationState.iconImage
withIconImage
type,IconImage
can be constructed with either a image idString
or aBitmap
, and introducedrememberIconImage
to build and remember a bitmap fromPainter
or from a drawable resource id. - [compose] Introduce
StandardStyleConfigurationState
class to hold the configurations ofMapboxStandardStyle
, and movelightPreset
config fromMapboxStandardStyle
toStandardStyleConfigurationState
; consider using overload methodMapboxStandardStyle
with trailing init lambda for easier migration. - Experimental
CustomRasterSourceOptions.Builder
now acceptsCustomRasterSourceClient
containingCustomRasterSourceTileStatusChangedCallback
instead ofCustomRasterSourceTileStatusChangedCallback
interface directly.
Features ✨ and improvements 🏁
- [compose] Promote Compose Extension to stable.
- [compose] Mark
MapState
,MapViewportState
,TerrainState
, light states and source states asStable
as they are internally backed byMutableState
. - [compose] Add more config options including
showPlaceLabels
,showRoadLabels
,showPointOfInterestLabels
,showTransitLabels
andfont
toStandardStyleConfigurationState
. - [compose] Introduce
StyleImage
constructor withImage
type, and addrememberStyleImage
composable functions to create and rememberStyleImage
. - [compose] Add extension function to
*AnnotationOptions
to handle composeColor
, use it in*AnnotationGroup
composable functions for convenience. - [compose] Add style transition parameter in
GenericStyle
,MapStyle
andMapboxStandardStyle
. - Modify
awaitCameraForCoordinates
extension function to useMapCameraManagerDelegate
as receiver type. - Modify
queryRenderedFeatures
andquerySourceFeatures
extension functions to useMapFeatureQueryDelegate
as receiver type. - Introduce asynchronous overloaded method
ViewAnnotationManager.cameraForAnnotations
better covering some corner cases. - Make use of asynchronous
MapboxMap.cameraForCoordinates
in Mapbox overlay plugin better covering some corner cases. - Mark synchronous methods
MapboxMap.cameraForCoordinates
andViewAnnotationManager.cameraForAnnotations
with@MapboxDelicateApi
. Consider using asynchronous overloaded methods instead. - Deprecate
MapboxMap.getDebug()
/MapboxMap.setDebug()
in favour ofMapView.debugOptions
taking new enhanced enumMapViewDebugOptions
as an argument. - Introduce
MapViewDebugOptions.CAMERA
andMapViewDebugOptions.PADDING
debug options to track current camera state and visualize camera paddings. - Expose experimental
ClipLayer
to remove 3D data (fill extrusions, landmarks, instanced trees) and symbols. - Enable r8 optimisations for all the Mapbox extensions and plugins in consumer proguard file, the optimisation will apply when minify is enabled in app's build settings.
- Align default displacement for Android and Google location providers.
- Enable direct rendering into
CustomRasterSource
tiles. - Introduce a new
allowZElevate
option inViewAnnotationOptions
. When set to true, the annotation will be positioned on the rooftops of buildings, including both fill extrusions and models.
Bug fixes 🐞
- [compose] Fix minZoom/maxZoom not working for layers.
- [compose] Fix
java.lang.UnsupportedOperationException
when settingtextWritingMode
andtextVariableAnchor
. - Fix compass view ignoring
enabled
option when it is set inupdateSettings()
. - Fix background locations not received when unregistering other providers.
- Improve
linePattern
precision. - Fix local glyph rasterization to ensure the correct Typeface is used.
- Fix
CustomRasterSource
rendering when camera shows antimeridian or multiple world copies.
Known issues
ClipLayer.clipLayerTypes
could not be updated with a layer setter. Layer has to be re-added to update it. This is expected to be fixed in v11.6.0-rc.1.
Dependencies
- Update gl-native to v11.6.0-beta.1 and common to v24.6.0-beta.1.