Mappedin SDK for iOS & Android v6.2.0 - April 2, 2026

This is the first version 6 production release of Mappedin SDK for Android & iOS!

Features

  • Added forcePosition() and reportPosition() methods to BlueDot for manual positioning. forcePosition() overrides all sensors for a specified duration, while reportPosition() 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(), and isSensorEnabled() for fine-grained control over individual sensors in the fusion engine.
  • Added AnchorSet and AnchorExpired events to notify when forced position anchors are created and expire.
  • Added EventsManager on MapData.eventsManager for loading and querying CMS events. Includes load(), getEvents(), getById(), and getByLocationId() methods, with EventMetaData, EventVideo, and EventsManagerOptions models.
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 position property to ShapeState and ShapeUpdateState, enabling getting and setting Shape positions.
// 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 3D Models for a venue.
  • Added MultiFloorViewEffectState for 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 via MultiFloorViewOptions or at runtime via GlobalStateUpdate.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.GlobalStateChange event, emitted when updateGlobalState() is called.
  • Added floorGapMultiplier and floorGapFallback properties to MultiFloorViewOptions for additional control over floor spacing in multi-floor view.
  • Added animated property to AddMarkerOptions to control Marker visibility transitions.
  • Added MaterialSide.AUTO option that automatically chooses front or double-sided rendering based on opacity.
  • Added screenOffsets, pitch, and zoomLevel properties to Show3DMapOptions.