Mappedin SDK for iOS & Android v6.8.0

Packages

  • @mappedin/blue-dot: 6.24.1-beta.0
  • @mappedin/dynamic-focus: 6.24.1-beta.0
  • @mappedin/events: 6.24.1-beta.0
  • @mappedin/icons: 8.4.1
  • @mappedin/mappedin-js: 6.24.1

Features

  • Added MapView.setLogLevel, which sets the underlying Mappedin JS SDK log verbosity at runtime. The default is SdkLogLevel.INFO, so verbose SdkLogLevel.DEBUG output is opt-in. The method can be called before or after the map has loaded.
// Re-enable verbose SDK logging
mapView.setLogLevel(SdkLogLevel.DEBUG)

// Quiet the SDK entirely
mapView.setLogLevel(SdkLogLevel.SILENT)
  • Added iconBorderRadiusFactor to LabelAppearance and LabelState.Appearance, which controls the corner rounding of a label’s icon pin so it can render as a rounded square instead of only a circle. The value is a fraction of half the pin’s size, where 1 (the default) is a circle, 0 is a square, and values in between round proportionally. It can be set when adding a Label or updated at runtime.
mapView.labels.add(
    target = space,
    text = space.name,
    options = AddLabelOptions(
        labelAppearance = LabelAppearance(iconBorderRadiusFactor = 0.5),
    ),
)

mapView.updateState(
    label,
    LabelUpdateState(appearance = LabelAppearance(iconBorderRadiusFactor = 1.0)),
)
  • Added enable2DCollisions to BlueDotOptions and BlueDotState (default false). When enabled, nearby Labels and Markers yield to the Blue Dot instead of painting over it. Labels ranked CollisionRankingTier.ALWAYS_VISIBLE can still overlap the Blue Dot.
mapView.blueDot.enable(BlueDotOptions(enable2DCollisions = true))

  • Added cameraLiftAnimationOptions to DynamicFocusOptions and DynamicFocusState, which customizes the camera elevation lift on floor change when MultiFloorViewOptions.updateCameraElevationOnFloorChange is enabled. Defaults to a 500 ms ease-in-out animation that can be interrupted.
mapView.dynamicFocus.enable(
DynamicFocusOptions(
        cameraLiftAnimationOptions = CameraAnimationOptions(
            duration = 500,
            easing = EasingFunction.EASE_IN_OUT,
            interruptible = true,
        ),
    ),
)

Fixes

  • Fixed an issue where a Model moved with updateState would become unhittable, so hover and click events no longer detected it at its new position.
  • Fixed an issue where Path hover height was approximately twice the specified verticalOffset.
  • Fixed an issue where a Model with clipping enabled would jump to twice its intended world position after a subsequent updateState.