Releases: mapbox/mapbox-maps-android
Releases · mapbox/mapbox-maps-android
v11.2.0
11.2.0 February 29, 2024
Features ✨ and improvements 🏁
- Introduce better way of SDK initialization to avoid
java.lang.UnsatisfiedLinkError
exception on process startup. If the native library is still not found when actual Mapbox API is called, meaningfulMapboxInitializerException
is thrown and could be caught and processed on user's side. - Introduce
MapboxMap.getCenterAltitudeMode
API. - Add
useShortestPath
option toCameraAnimationPlugin.createCenterAnimator
, when enabled, shortest path will be applied when the start and end camera center is across the antimeridian, for example from -170 to 170 longitude. Defaults to true. - Introduce
SymbolLayer.iconColorSaturation
API. - Introduce experimental
RasterLayer.rasterElevation
API. - Introduce experimental
MapboxMap.startPerformanceStatisticsCollection
/MapboxMap.stopPerformanceStatisticsCollection
APIs allowing to start / stop collecting map rendering performance statistics. - Introduce
GeoJsonSource.tileCacheBudget
,RasterSource.tileCacheBudget
,RasterDemSource.tileCacheBudget
,RasterArraySource.tileCacheBudget
,VectorSource.tileCacheBudget
,CustomGeometrySource.tileCacheBudget
,CustomRasterSource.tileCacheBudget
. - Skip unneeded layers properties re-evaluation on zoom change.
- Add the possibility to use constant expressions for
model-emissive-strength
when rendering 3D model layers using 2D sources. - Introduce static
HttpServiceFactory.setMaxRequestsPerHost
API. TileStoreOptions.DiskQuota
is now an abort threshold for tilestore size. When we have more than this amount of bytes stored, new downloads will fail.Tilestore
starts to evict tiles with closest expiration date 50Mb (or 10% of DiskQuota, whatever is smaller) before this abort threshold is reached.- Speedup preparing tiled sources for rendering.
- Uploading model resources to GPU in continuous map mode is now limited by fixed time per frame.
- Modify
FillExtrusionLayer.fillExtrusionCutoffFadeRange
to scale down and remove buildings in a staggered fashion, instead of fading opacity. - [compose] Introduce
DisposableMapEffect
API. - [compose] Add default value for
MapViewportState.transitionToFollowPuckState.followPuckViewportStateOptions
.
Bug fixes 🐞
- Retain previous
CenterAltitudeMode
after gestures are finished. - Avoid marking whole
LayerDsl
as experimental when only a part of the layer properties are experimental. - Fix R8 error due to missing class
com.tobrun.datacompat.annotation.Default
. EaseTo
andMoveBy
camera animation andDefaultViewportTransition
now will use shortest path when the start and end camera center is across the antimeridian, for example from -170 to 170 longitude.- Remove extra image padding from text shaping offset.
- Address crashes on certain Android devices by disabling the texture pool.
- Fix elevated rasters with coordinates not aligned to the longitude/latitude grid.
- Fix a bug that was causing absence of
MapLoaded
event and never ending background task processing. - Fix a bug that heatmap layer wasn't updating visuals after feature state change.
- Fix a bug where scientific notation is not supported when parse JSON numbers to
Value
. - Fix a crash occurring when clicking on the "Telemetry settings" option in the attribution dialog when not using the
AppCompat
theme. - Fix
ModelLayer.modelCutoffFadeRange
calculation on low zoom levels. - Fix
RasterArray
rendering on Android. - Fix rare null pointer dereference crash.
- Fix a bug with disappearing models during light changes.
- Fix rendering artifacts on long fill outlines on pitched map view.
- Fix style parsing when the style and import's urls are both empty.
- Fix config expression evaluation if the expected type is formatted but the actual value is string.
- Fix not taking
line-trim-offset
into account for Dynamic View Annotation placement. - Fix issue that View Annotation stays visible when the associated layer's visibility is none.
- Fix camera framing on globe with padding.
- [compose] Fix a warning that using UI composable where Mapbox Map composable is expected.
- [compose] Fix losing some location component settings during wrapping.
Dependencies
- Update gl-native to v11.2.0 and common to v24.2.0.
- Upgrade to Kotlin Data compat v0.8.0.
v10.16.5
10.16.5 February 22, 2024
Features ✨ and improvements 🏁
- Introduce better way (compared to v10.16.3) of dealing with
java.lang.UnsatisfiedLinkError
exception happening on the startup.
Bug fixes 🐞
- Address crashes on certain Android devices by disabling the texture pool.
- Fix snapshotter race conditions to ensure new request could effectively trigger map rendering.
Dependencies
- Update gl-native to v10.16.5 and common to v23.9.0.
v11.2.0-rc.1
11.2.0-rc.1 February 15, 2024
Features ✨ and improvements 🏁
- [compose] Introduce
DisposableMapEffect
API. - Speedup preparing tiled sources for rendering.
- Uploading model resources to GPU in continuous map mode is now limited by fixed time per frame.
- Modify
FillExtrusionLayer.fillExtrusionCutoffFadeRange
to scale down and remove buildings in a staggered fashion, instead of fading opacity.
Bug fixes 🐞
- [compose] Fix a warning that using UI composable where Mapbox Map composable is expected.
- Fix a crash occurring when clicking on the "Telemetry settings" option in the attribution dialog when not using the
AppCompat
theme. - Fix
ModelLayer.modelCutoffFadeRange
calculation on low zoom levels. - Fix
RasterArray
rendering on Android. - Fix rare null pointer dereference crash.
Dependencies
- Update gl-native to v11.2.0-rc.1 and common to v24.2.0-rc.2.
v11.2.0-beta.1
11.2.0-beta.1 February 01, 2024
Features ✨ and improvements 🏁
- Introduce better way of SDK initialization to avoid
java.lang.UnsatisfiedLinkError
exception on process startup. If the native library is still not found when actual Mapbox API is called, meaningfulMapboxInitializerException
is thrown and could be caught and processed on user's side. - Introduce
MapboxMap.getCenterAltitudeMode
API. - Add
useShortestPath
option toCameraAnimationPlugin.createCenterAnimator
, when enabled, shortest path will be applied when the start and end camera center is across the antimeridian, for example from -170 to 170 longitude. Defaults to true. - Introduce
SymbolLayer.iconColorSaturation
API. - Introduce experimental
RasterLayer.rasterElevation
API. - Introduce experimental
MapboxMap.startPerformanceStatisticsCollection
/MapboxMap.stopPerformanceStatisticsCollection
APIs allowing to start / stop collecting map rendering performance statistics. - Introduce
GeoJsonSource.tileCacheBudget
,RasterSource.tileCacheBudget
,RasterDemSource.tileCacheBudget
,RasterArraySource.tileCacheBudget
,VectorSource.tileCacheBudget
,CustomGeometrySource.tileCacheBudget
,CustomRasterSource.tileCacheBudget
. - Skip unneeded layers properties re-evaluation on zoom change.
- Add the possibility to use constant expressions for
model-emissive-strength
when rendering 3D model layers using 2D sources. - Introduce static
HttpServiceFactory.setMaxRequestsPerHost
API. TileStoreOptions.DiskQuota
is now an abort threshold for tilestore size. When we have more than this amount of bytes stored, new downloads will fail.Tilestore
starts to evict tiles with closest expiration date 50Mb before this abort threshold is reached.
Bug fixes 🐞
- Retain previous
CenterAltitudeMode
after gestures are finished. - Avoid marking whole
LayerDsl
as experimental when only a part of the layer properties are experimental. - Fix R8 error due to missing class
com.tobrun.datacompat.annotation.Default
. EaseTo
andMoveBy
camera animation andDefaultViewportTransition
now will use shortest path when the start and end camera center is across the antimeridian, for example from -170 to 170 longitude.- Remove extra image padding from text shaping offset.
- Address crashes on certain Android devices by disabling the texture pool.
- Fixed elevated rasters with coordinates not aligned to the longitude/latitude grid.
- Fixed a bug that was causing absence of
MapLoaded
event and never ending background task processing. - Fixed a bug that heatmap layer wasn't updating visuals after feature state change.
- Fixed a bug where scientific notation is not supported when parse JSON numbers to
Value
.
Dependencies
- Upgrade to Kotlin Data compat v0.8.0.
- Update gl-native to v11.2.0-beta.1 and common to v24.2.0-beta.1.
Known issues
With the new way of Mapbox SDK initialization, your application unit tests may start failing when interacting with Mapbox APIs, even if mocked.
The error may look like:
Exception java.lang.NoClassDefFoundError: Could not initialize class com.mapbox.common.location.Location
or
Caused by: java.lang.RuntimeException: Method w in android.util.Log not mocked. See https://developer.android.com/r/studio-ui/build/not-mocked for details.
at android.util.Log.w(Log.java)
at com.mapbox.common.BaseMapboxInitializer$Companion.init(BaseMapboxInitializer.kt:116)
at com.mapbox.common.BaseMapboxInitializer.init(BaseMapboxInitializer.kt)
at com.mapbox.common.location.Location.<clinit>(Location.java:442)
To fix above errors, BaseMapboxInitializer
should be properly mocked before accessing the failing Mapbox class. For example, when using Kotlin MockK you should add the following code:
mockkObject(BaseMapboxInitializer)
every { BaseMapboxInitializer.init<Any>(any()) } just Runs
// your test code
unmockkObject(BaseMapboxInitializer)
Alternative solution is to apply unitTests.returnDefaultValues
.
v11.1.0
11.1.0 January 17, 2024
Features ✨ and improvements 🏁
- From v11.1.0, Mapbox Android Auto Extension for Android is released as a separate module following the same release cadence with the main SDK, please refer to this guide to get started with Android Auto, and v0.5.0 changelog for previous changelogs.
- Define minCompileSdkVersion=31 for Maps SDK libraries.
- Introduce
FillExtrusionLayer.fillExtrusionEmissiveStrength
,HillshadeLayer.hillshadeEmissiveStrength
andRasterLayer.rasterEmissiveStrength
properties. - Introduce
RasterLayer.rasterArrayBand
property. - Improve performance of
StyleInterface.localizeLabels
method. - Introduce
RasterArraySource
with read only propertyRasterArraySource.rasterLayers
, which can be used in combination withRasterLayer.sourceLayer
andRasterLayer.rasterArrayBand
. - Improve error handling for
UnknownNativeException
, more specific error message will be thrown instead. - Support landmark tilesets with compressed textures for improved tile load performance.
- Improve performance of changing layers' properties.
Bug fixes 🐞
- Fix
MapSurface
rendering issue when widgets are used. - Fix
coordinateBoundsForCameraUnwrapped
returning wrapped coordinates. - Fix inconsistent behavior in fill-extrusion color when using directional and ambient lights.
- Downloaded but corrupted style is now invalidated and will be downloaded again on the next load.
- Fixed missing tiles in the bottom part of the screen when looking from the mountain down to the valley.
- Do not emit slot missing warnings if style imports are not fully loaded.
- Fixed wrong dem tile selection from elevation snapshots in rare cases.
- Fixed tile flickering with enabled terrain.
- Add missing properties, i.e.
array
,values
,maxValue
,minValue
,stepValue
,metadata
when usinggetStyleImportSchema
API, if they are present in the original schema. - Exclude duplicated
tileID
inMapboxMap.tileCover
querying results. - Fix race condition on repeated style transitions, when the transition fails for some layers.
- Allow style schema to control imported fragment configs.
- Fix possible rendering artifacts on startup when
ContextMode.SHARED
is used. - Fix wrong camera positions while using
setBounds
. - Fix missing IDs of flat light types when configured through the
setLights
API. - Reload image dependent tiles when sprites are loaded.
- Fix an issue where memory use would grow continuously with Z-offset enabled symbol layers.
- Fix crash when using Dynamic View Annotation with location indicator enabled but visibility is turned from visible to none.
- Fix
getStyleSourceProperties()
API forRasterArray
source. - Fix unreliable position update of View Annotations.
- Fix GeoJSON partial updates when there is an error during update followed by multiple update calls.
Dependencies
- Update gl-native to v11.1.0 and common to v24.1.0.
v10.16.4
10.16.4 January 08, 2024
Features ✨ and improvements 🏁
- Improve performance of
StyleInterface.localizeLabels
method.
Bug fixes 🐞
- Fix regression introduced in v10.16.3 when only last added widget was rendered.
- Fix tile flickering with enabled terrain.
- Fix race condition on repeated style transitions, when the transition fails for some layers.
- Fix wrong camera positions while using
setBounds
. - Reload image dependent tiles when sprites are loaded.
- Exclude duplicated
tileID
inMapboxMap.tileCover
querying results. - Fix artefacts at style transition by using a more robust approach for the data-driven properties updates.
Dependencies
- Update gl-native to v10.16.4 and common to v23.8.6.
v11.1.0-rc.1
11.1.0-rc.1 January 04, 2024
Bug fixes 🐞
- Fix possible rendering artifacts on startup when
ContextMode.SHARED
is used. - Fix regression introduced in v11.1.0-beta.1 where only last added widget was rendered.
- Fix wrong camera positions while using
setBounds
. - Fix missing IDs of flat light types when configured through the
setLights
API. - Reload image dependent tiles when sprites are loaded.
- Fix an issue where memory use would grow continuously with Z-offset enabled symbol layers.
- Fix crash when using Dynamic View Annotation with location indicator enabled but visibility is turned from visible to none.
- Fix
getStyleSourceProperties()
API forRasterArray
source. - Fix unreliable position update of View Annotations.
Dependencies
- Update gl-native to v11.1.0-rc.1 and common to v24.1.0-rc.1.
v11.1.0-beta.1
11.1.0-beta.1 December 19, 2023
Features ✨ and improvements 🏁
- Define minCompileSdkVersion=31 for Maps SDK libraries.
- Introduce
FillExtrusionLayer.fillExtrusionEmissiveStrength
,HillshadeLayer.hillshadeEmissiveStrength
andRasterLayer.rasterEmissiveStrength
properties. - Introduce
RasterLayer.rasterArrayBand
property. - Improve performance of
StyleInterface.localizeLabels
method. - Introduce
RasterArraySource
with read only propertyRasterArraySource.rasterLayers
, which can be used in combination withRasterLayer.sourceLayer
andRasterLayer.rasterArrayBand
. - Improve error handling for
UnknownNativeException
, more specific error message will be thrown instead. - Support landmark tilesets with compressed textures for improved tile load performance.
Bug fixes 🐞
- Fix a
MapSurface
rendering issue when widgets are used. - Fix
coordinateBoundsForCameraUnwrapped
returning wrapped coordinates. - Fix inconsistent behavior in fill-extrusion color when using directional and ambient lights.
- Downloaded but corrupted style is now invalidated and will be downloaded again on the next load.
- Fixed missing tiles in the bottom part of the screen when looking from the mountain down to the valley.
- Do not emit slot missing warnings if style imports are not fully loaded.
- Fixed wrong dem tile selection from elevation snapshots in rare cases.
- Fixed tile flickering with enabled terrain.
- Add missing properties, i.e.
array
,values
,maxValue
,minValue
,stepValue
,metadata
when usinggetStyleImportSchema
API, if they are present in the original schema. - Exclude duplicated tileID in tileCover querying results.
- Fix race condition on repeated style transitions, when the transition fails for some layers.
- Allow style schema to control imported fragment configs.
Dependencies
- Update gl-native to v11.1.0-beta.1 and common to v24.1.0-beta.2.
v10.16.3
10.16.3 December 08, 2023
Bug fixes 🐞
- Downgrade minimum required
compileSDK
from 31 to 30. - Fix the
java.lang.UnsatisfiedLinkError
exception happening on the startup. - Fix widgets flickering due to race condition if they are animated.
- Fix widgets not showing on some zoom levels.
- Fix map being black when using widgets (e.g. when
MapDebugOptions.TILE_BORDERS
option is enabled). - Fix the crash with enabled timestamps debug option.
- Fix crashing with
java.lang.Error: unknown native exception
caused by model_collision shader compilation failure. - Fix
TileStore
not clearing the invalidated and serveable flags upon a successful download.
Dependencies
- Update Mapbox gestures library to 0.9.1
- Update gl-native to v10.16.3 and common to v23.8.5.
Known issues
- The
java.lang.UnsatisfiedLinkError
exception on startup has been fixed when using Mapbox Maps SDK only. If other Mapbox products are used (Navigation, Search) - loading navigation / search native libraries might still crash. Mapbox Navigation / Search SDKs fixes will be released separately.
v11.0.0
11.0.0 November 29, 2023
Breaking changes ⚠️
- Minimum OpenGL ES version is now 3.0.
- Update SDK's
targetSdkVersion
andcompileSdkVersion
to 33. - Remove deprecated
GeoJsonSource
public constructor, builder should be used instead. - Remove deprecated
MapboxMap.queryRenderedFeatures
methods. - Remove
Snapshotter.setTileMode
,Snapshotter.isInTileMode
methods. - Remove deprecated
MapStyleStateDelegate
andisFullyLoaded
method. - Remove experimental
setRenderCacheOptions
,getRenderCacheOptions
apis. - Add
callback
argument to theMapboxMap
methodsgetFeatureState
,setFeatureState
,removeFeatureState
. - Use different callback types for the
MapboxMap.queryRenderedFeatures
and theMapboxMap.querySourceFeatures
methods. - Return
cancelable
from theMapboxMap
methods :getFeatureState
,setFeatureState
,removeFeatureState
,querySourceFeatures
,getGeoJsonClusterLeaves
,getGeoJsonClusterChildren
,getGeoJsonClusterExpansionZoom
. - Remove the deprecated
MapboxMap.queryFeatureExtensions
method. - Remove
MapAnimationOptions.animatorListener
property. In order to subscribe to animations, provideAnimator.animatorListener
withflyTo
,easeTo
,pitchBy
,scaleBy
,moveBy
,rotateBy
apis. - Replace
LocationEngine
use withLocationService
inDefaultProvider
. - Add new
LocationConsumer.onError
method to allow consumers handle location errors. - Remove
MapView.location2
related interfaces and moveshowAccuracyRing
,accuracyRingColor
,accuracyRingBorderColor
,puckBearingEnabled
andpuckBearingSource
toMapView.location
. - Make
AttributionSettings
,CompassSettings
,GesturesSettings
,LocationComponentSettings
,LogoSettings
,ScaleBarSettings
not Kotlindata class
, better binary compatible and implementingParcelable
. - Change
CompassSettings.image
,LocationPuck2D.topImage
,LocationPuck2D.bearingImage
,LocationPuck2D.shadowImage
toImageHolder
allowing to pass either drawable id orBitmap
. - Remove deprecated
backgroundPatternTransition
,lineDasharrayTransition
,linePatternTransition
,fillPatternTransition
properties. - Replace
MapSnapshotInterface
interface withMapSnapshotResult
abstract class and removeimage()
method,bitmap()
should be used instead. - Change
Annotation.id
from monotonically increasingLong
to UUID represented asString
. - Remove
Annotation.featureIdentifier
used to connect with View Annotations, nowAnnotation.id
should be used instead. - Rename
PuckBearingSource
toPuckBearing
in location component plugin. - Remove deprecated overloaded
Style.setStyleGeoJSONSourceData(sourceId: String, data: GeoJSONSourceData)
method. - Rename
MapboxMap.setMemoryBudget
toMapboxMap.setTileCacheBudget
and make it non-experimental. - Remove
ResourceOptions
andResourceOptionsManager
. IntroduceMapboxOptions
andMapboxMapsOptions
to handle application-level access token and other generic options. - Removed XML attributes
mapbox_resourcesAccessToken
andmapbox_resourcesBaseUrl
. - Update Mapbox styles to latest versions:
Style | Before | After |
---|---|---|
MAPBOX_STREETS | mapbox://styles/mapbox/streets-v11 | mapbox://styles/mapbox/streets-v12 |
SATELLITE_STREETS | mapbox://styles/mapbox/satellite-streets-v11 | mapbox://styles/mapbox/satellite-streets-v12 |
OUTDOORS | mapbox://styles/mapbox/outdoors-v11 | mapbox://styles/mapbox/outdoors-v12 |
LIGHT | mapbox://styles/mapbox/light-v10 | mapbox://styles/mapbox/light-v11 |
DARK | mapbox://styles/mapbox/dark-v10 | mapbox://styles/mapbox/dark-v11 |
- Remove native interfaces
StyleManagerInterface
,StyleInterface
,CameraManagerInterface
,MapInterface
,ObservableInterface
and use onlyMap
object to access native methods. - Make map events typed-safe, events are now have their own subscription methods.
Following events are added as typed-safe,CameraChanged
,MapIdle
,MapLoadingError
,MapLoaded
,StyleDataLoaded
,StyleLoaded
,StyleImageMissing
,StyleImageRemovedUnunsed
,
RenderFrameStarted
,RenderFrameFinished
,SourceAdded
,SourceDataLoaded
,SourceRemoved
,ReourceRequest
.
Allsubscribe
methods returnCancelable
object, which users could store and callcancel
when subscription is no longer needed.
MapboxMap.unsubscribe
methods were removed. - Rename
LocationConsumer.onAccuracyRadiusUpdated
toonHorizontalAccuracyRadiusUpdated
. - Deprecate
MapboxMap.loadStyleUri
,MapboxMap.loadStyleJson
andMapboxMap.loadStyle
methods and introduce oneMapboxMap.loadStyle
accepting either URI / JSON or Style DSL block. - Replace
com.mapbox.maps.plugin.animation.Cancelable
withcom.mapbox.common.Cancelable
. - Remove
TileStoreOptions.MAPBOX_ACCESS_TOKEN
used e.g. inTileStore.setOption(TileStoreOptions.MAPBOX_ACCESS_TOKEN, someDomain, someValue)
as it has become redundant. - Introduce
MapboxTracing
object allowing to enable Android traces to measure performance of the SDK. More details and instructions could be found inWorking with traces
section inDEVELOPING.md
. - Remove Mapbox plugin implementations from public API surface.
- Remove
HttpServiceFactory.getInstance
,HttpServiceFactory.reset
,HttpServiceFactory.setUserDefined
methods. - Replace
HttpServiceFactory.getInstance().setInterceptor
withHttpServiceFactory.setHttpServiceInterceptor
. - Argument
dataId
of theGeoJson.feature
,GeoJson.featureCollection
,GeoJson.geometry
,GeoJson.url
,GeoJson.data
became non-nullable. - Remove
Style.getStyleSourcesAttribution
.MapboxMap.getAttributions
should be used instead. - (Kotlin only) Remove
Style.getStyleSources()
/Style.getStyleLayers()
. PropertiesStyle.styleSources
/Style.styleLayers
should be used instead. - Replace style related enum classes with regular classes.
- Migrate from
android.app.AlertDialog
toandroidx.appcompat.app.AlertDialog
for attribution plugin. - Rename
MapboxMap.subscribeStyleImageUnused
toMapboxMap.subscribeStyleImageRemoveUnused
. - The
MapCameraPlugin
'sonCameraMove
method now usesPoint
for camera center andEdgeInsets
for padding. - Remove
MapInitOptions.optimizeForTerrain
as whenever terrain is present layer order is automatically adjusted for better performance. - Replace
MapboxMap
andMapCameraManagerDelegate
APIsdragStart
,dragEnd
,getDragCameraOptions
withcameraForDrag
,setCenterAltitudeMode
. - Remove setter functions for
Style.styleURI
andStyle.styleJSON
as loading the style should happen only withMapboxMap.loadStyle
. - Rename
StyleImageMissing.getStyleImageMissingEventData
toStyleImageMissing.toStyleImageMissingEventData
. - Rename
MapCameraManagerDelegate
properties for methodscameraForCoordinateBounds
,cameraForCoordinates
andcameraForGeometry
to align them withMapboxMap
methods. - Consolidate
FetchTileFunctionCallback
andCancelTileFunctionCallback
by single typeTileFunctionCallback
. - Make
Image
parameter nullable insetStyleCustomRasterSourceTileData()
method. - Extension function
Style.getProjection()
return type changed fromProjection
toProjection?
. - Extension function
LocationComponentPlugin.createDefault2DPuck
inLocationComponentUtils.kt
is now stand-alonecreateDefault2DPuck
. - Extension function
LocationComponentPlugin.createDefault2DPuck
inLocationComponentUtils
is now stand-alonecreateDefault2DPuck
. - Function
createDefault2DPuck
does not require acontext
parameter. - Increase minimum location puck bearing threshold needed to trigger an animation to 1 degree (previously 0.01 degrees) to reduce the CPU usage.
- Location component puck bearing enabled property (
MapView.location.puckBearingEanbled
) has been changed tofalse
by default. ViewAnnotationManager.getViewAnnotationByFeatureId
is renamed toViewAnnotationManager.getViewAnnotation
,ViewAnnotationManager.getViewAnnotationByFeatureId
is renamed toViewAnnotationManager.getViewAnnotation
.ViewAnnotationManager.getViewAnnotationOptionsByView
is renamed toViewAnnotationManager.getViewAnnotationOptions
.ViewAnnotationManager.getViewAnnotationOptionsByFeatureId
is renamed toViewAnnotationManager.getViewAnnotationOptions
.ViewAnnotationAnchorConfig
fieldsoffsetX
/offsetY
are now of type Double instead of Int.ViewAnnotationOptions
accepts list of anchorsvariableAnchors
instead ofanchor
/offsetX
/offsetY
.ViewAnnotationOptions
fieldswidth
/height
are now of type Double instead of Int.OnViewAnnotationUpdatedListener.onViewAnnotationPositionUpdated
argumentswidth
/height
are now of type Double instead of Int.- Add
getName
method toDeviceLocationProvider
interface. - Add boolean parameter
allowUserDefined
togetDeviceLocationProvider
method inLocationService
interface. - Add
LocationService.getDeviceLocationProvider
method that acceptsExtendedLocationProviderParameters
toLocationService
interface.
Features ✨ and improvements 🏁
- Introduce new Mapbox 3D style
Style.STANDARD
and make it default. - Add dynamic view annotations that can be attached to complex feature geometries and reposition itself based on the current camera viewport. To create dynamic view annotation use
AnnotatedFeature
of typeANNOTATED_LAYER_FEATURE
. Multiple dynamic view annotations can be attached to the same feature. Also additional optionsViewAnnotationOptions.allowOverlapWithPuck
andViewAnnotationOptions.ignoreCameraPadding
introduced to configure the ...