This is the first version 6 production release of Mappedin SDK for Android & iOS!
Features
- Added
forcePosition()andreportPosition()methods toBlueDotfor manual positioning.forcePosition()overrides all sensors for a specified duration, whilereportPosition()blends with other sensors using confidence weighting.
val target = ForcePositionTarget( latitude = 43.46106, longitude = -80.52220, heading = 90.0)mapView.blueDot.forcePosition(target, durationMs = 30_000) { result -> result.onSuccess { Log.d("Demo", "Position forced for 30s") }}
- Added sensor management methods to
BlueDot:enableSensor(),disableSensor(),checkSensorPermission(),requestSensorPermission(), andisSensorEnabled()for fine-grained control over individual sensors in the fusion engine. - Added
AnchorSetandAnchorExpiredevents to notify when forced position anchors are created and expire. - Added
EventsManageronMapData.eventsManagerfor loading and querying CMS events. Includesload(),getEvents(),getById(), andgetByLocationId()methods, withEventMetaData,EventVideo, andEventsManagerOptionsmodels.
mapView.mapData.eventsManager.load { loadResult -> loadResult.onSuccess { mapView.mapData.eventsManager.getEvents { eventsResult -> eventsResult.onSuccess { events -> for (event in events) { Log.d("Events", "${event.name}: ${event.startDate} - ${event.endDate}") } } } }}
- Added
positionproperty toShapeStateandShapeUpdateState, enabling getting and settingShapepositions.
// Get the position of a shapemapView.getState(shape) { result -> result.onSuccess { state -> Log.d("Shape", "Position: ${state?.position?.latitude}, ${state?.position?.longitude}") }}// Move a shape to a new positionval newPosition = Coordinate(latitude = 43.46, longitude = -80.52)mapView.updateState(shape, ShapeUpdateState(position = newPosition))
- Added
Models.all()method to load all CMS-defined 3DModels for a venue. - Added
MultiFloorViewEffectStatefor configuring visual effects on inactive floors visible through open-to-below spaces, including darken, desaturate, and wash-out effects with depth controls. Configurable at init time viaMultiFloorViewOptionsor at runtime viaGlobalStateUpdate.multiFloorView.
// Configure visual effects at init timeval options = Show3DMapOptions( multiFloorView = MultiFloorViewOptions( spacesOpenToBelowEnabled = true, spacesOpenToBelowVisualEffectEnabled = true, spacesOpenToBelowVisualEffectDarkenAmount = 0.3, spacesOpenToBelowVisualEffectDesaturateAmount = 0.7 ))// Update visual effects at runtimemapView.updateGlobalState(GlobalStateUpdate( multiFloorView = GlobalStateUpdate.MultiFloorViewEffectStateUpdate( spacesOpenToBelowVisualEffectDarkenAmount = 0.5 )))
- Added
Events.GlobalStateChangeevent, emitted whenupdateGlobalState()is called. - Added
floorGapMultiplierandfloorGapFallbackproperties toMultiFloorViewOptionsfor additional control over floor spacing in multi-floor view. - Added
animatedproperty toAddMarkerOptionsto controlMarkervisibility transitions. - Added
MaterialSide.AUTOoption that automatically chooses front or double-sided rendering based on opacity. - Added
screenOffsets,pitch, andzoomLevelproperties toShow3DMapOptions.