Mappedin SDK for iOS & Android v6.3.0

6.3.0 - May 20, 2026

  • Upgraded to Mappedin JS v6.19.0

Features

  • Added visible property to BlueDotOptions, AccuracyRing, and Heading to control the visibility of Blue Dot components independently
  • Added AutoZoomThresholds enum (.disabled, .enabled, .enabledWith(options:)) to DynamicFocusOptions and DynamicFocusState for configuring DynamicFocus auto-zoom behavior
let options = DynamicFocusOptions(
    autoZoomThresholds: .enabledWith(options: .init(debug: true))
)
  • Added .floorStack(FloorStack) case to the FocusTarget enum, with convenience focusOn and getFocusOnTransform overloads on Camera for focusing on a FloorStack
mapView.camera.focusOn(.floorStack(floorStack))
  • Added Events.cameraScreenOffsetsChange event to listen for camera screen offset changes
  • Added .pixels(String) case to Width for pixel-based width values (e.g. "20px")
  • Added Navigation.trackCoordinate method for path tethering and travelled-path tracking, with TetheredOptions, TravelledOptions, TrackCoordinateOptions, TrackCoordinateResult, TrackingMode, CoordinateOutsideThresholdMode, and OutsideThresholdPathStyle models
let handle = mapView.navigation.trackCoordinate(
    origin: startCoordinate,
    destinations: [destinationSpace],
    options: TrackCoordinateOptions(
        mode: .tethered,
        tethered: TetheredOptions(
            outsideThresholdMode: .smoothTransition,
            outsideThresholdDistance: 5.0
        )
    )
) { result in /* ... */ }

mapView.blueDot.on(.dotPositionUpdate) { payload in
    handle?.update(coordinate: payload.coordinate)
}
  • Added BlueDotEvents.dotPositionUpdate event that emits smoothed Coordinate updates suitable for feeding into Navigation.trackCoordinate
  • Added includeNonPublic property to GetDirectionsOptions to allow routing through non-public spaces and connections
  • Added interactive property to AddImageOptions and interactive/cursor properties to ImageState and ImageUpdateState. Image3DView is now exposed in ClickPayload and HoverPayload images and target

Deprecated

  • BlueDot.update() has been deprecated in favor of BlueDot.forcePosition() or BlueDot.reportPosition()
// Before (deprecated)
mapView.blueDot.update(
    position: BlueDotPositionUpdate(
        latitude: .value(lat),
        longitude: .value(lng),
        floorId: .id(floorId)
    ),
    options: BlueDotUpdateOptions(animate: true)
) { _ in }

// After
mapView.blueDot.reportPosition(
    options: ManualPositionOptions(
        latitude: lat,
        longitude: lng,
        floorLevel: floorLevel,
        confidence: 1.0
    )
) { _ in }