Skip to Content
API ReferenceMapLazarilloMapConfig

LazarilloMapConfig

class LazarilloMapConfig(var width: Int = 0, var height: Int = 0, var x: Int = 0, var y: Int = 0, var center: LatLng = LatLng(0.0, 0.0), var zoom: Double = 0.0, var liteMode: Boolean = false, var devicePixelRatio: Float = 1.0f, var parentPlaceId: String? = null, var hideFloorSelector: Boolean = true, var hideZoomIn: Boolean = true, var hideZoomOut: Boolean = true, var hideZoomToLocation: Boolean = true, var compassIcon: String? = null, var locationIcon: String? = null, var showCompass: Boolean = true, var locationIconWithBearing: String? = null, var defaultMarkerIcon: String? = null, var defaultRouteAnimationIcon: String? = null, var limitToRadius: Double? = null, var maxZoom: Double = 24.0, var minZoom: Double = 10.0, var pitch: Double = 0.0, var bearing: Double = 0.0, var trackingConfig: TrackingConfig = TrackingConfig(), var zoomInAccessibility: AccessibilityConfig? = null, var zoomOutAccessibility: AccessibilityConfig? = null, var userLocationAccessibility: AccessibilityConfig? = null, var floorSelectorAccessibility: AccessibilityConfig? = null, var compassAccessibility: AccessibilityConfig? = null, var hideSelectedPlaceLabel: Boolean = false)

Configuration object for initializing a LazarilloMap instance.

Why this class exists: Maps require extensive configuration (camera position, UI controls, styling, accessibility, etc.). This class centralizes all configuration options, making map initialization clear and maintainable. It also supports JSON-based configuration for dynamic setups.

Key configuration areas:

  • Camera: Initial position (center, zoom, pitch, bearing)
  • UI Controls: Visibility of zoom buttons, floor selector, location button
  • Styling: Custom icons, compass appearance, location markers
  • Accessibility: Screen reader support, custom accessibility texts
  • Behavior: Location tracking reactivation, zoom limits, radius restrictions

Place-based configuration: When parentPlaceId is provided, the map automatically:

  • Centers on the place’s location
  • Loads place-specific map styling
  • Configures floor selector with place’s floors
  • Sets up indoor/outdoor context

Accessibility support: The SDK provides comprehensive accessibility support. You can configure accessibility texts either via AccessibilityConfig objects (takes precedence) or by overriding string resources in your app’s strings.xml.

Constructors

LazarilloMapConfigconstructor(fromJSONObject: JSONObject )
Built config from a json object
constructor(width: Int  = 0, height: Int  = 0, x: Int  = 0, y: Int  = 0, center: LatLng = LatLng(0.0, 0.0), zoom: Double  = 0.0, liteMode: Boolean  = false, devicePixelRatio: Float  = 1.0f, parentPlaceId: String ? = null, hideFloorSelector: Boolean  = true, hideZoomIn: Boolean  = true, hideZoomOut: Boolean  = true, hideZoomToLocation: Boolean  = true, compassIcon: String ? = null, locationIcon: String ? = null, showCompass: Boolean  = true, locationIconWithBearing: String ? = null, defaultMarkerIcon: String ? = null, defaultRouteAnimationIcon: String ? = null, limitToRadius: Double ? = null, maxZoom: Double  = 24.0, minZoom: Double  = 10.0, pitch: Double  = 0.0, bearing: Double  = 0.0, trackingConfig: TrackingConfig = TrackingConfig(), zoomInAccessibility: AccessibilityConfig? = null, zoomOutAccessibility: AccessibilityConfig? = null, userLocationAccessibility: AccessibilityConfig? = null, floorSelectorAccessibility: AccessibilityConfig? = null, compassAccessibility: AccessibilityConfig? = null, hideSelectedPlaceLabel: Boolean  = false)

Properties

bearing

var bearing: Double

Initial map bearing (rotation) in degrees. 0.0 = north up.

center

var center: LatLng

Types: LatLng

Initial map center coordinates. Default: (0.0, 0.0). Overridden if parentPlaceId is set.

compassAccessibility

var compassAccessibility: AccessibilityConfig?

Types: AccessibilityConfig

Accessibility configuration for compass. Overrides string resources.
Accessibility: Configure accessibility via AccessibilityConfig objects or string resources. Config objects take precedence. String resource names:
- lz_map_zoom_in: Zoom in button description - lz_map_zoom_out: Zoom out button description - lz_map_current_location: Current location button description - lz_map_floor_selector: Floor selector description

compassIcon

var compassIcon: String?

URL or resource name for compass icon. Image should point north at top. If invalid URL, default icon is used.

defaultMarkerIcon

var defaultMarkerIcon: String?

Default marker icon used as fallback by marker APIs when no icon is explicitly provided. Must be a preloaded style image id.

defaultRouteAnimationIcon

var defaultRouteAnimationIcon: String?

Default icon used by route step preview/animation marker. Must be a preloaded style image id.

devicePixelRatio

var devicePixelRatio: Float

Device pixel ratio for rendering. Default: 1.00.

floorSelectorAccessibility

var floorSelectorAccessibility: AccessibilityConfig?

Types: AccessibilityConfig

Accessibility configuration for floor selector. Overrides string resources.

height

var height: Int

Map height in pixels. If 0, uses parent view height.

hideFloorSelector

var hideFloorSelector: Boolean

If true, hides the floor selector spinner. Default: true.

hideSelectedPlaceLabel

var hideSelectedPlaceLabel: Boolean

hideZoomIn

var hideZoomIn: Boolean

If true, hides the zoom in button. Default: true.

hideZoomOut

var hideZoomOut: Boolean

If true, hides the zoom out button. Default: true.

hideZoomToLocation

var hideZoomToLocation: Boolean

If true, hides the “go to my location” button. Default: true.

limitToRadius

var limitToRadius: Double?

Optional radius limit in meters. Restricts map panning to this radius from center. Useful for venue-specific apps. Null = no limit.

liteMode

var liteMode: Boolean

If true, enables lite mode with limited interactions (static maps).

locationIcon

var locationIcon: String?

Icon for user position when device has no compass sensor. Can be: - Resource name from drawable folder - URL (supports SVG via Coil) - Preloaded icon name (see MapConstants.defaultMarkerIcons)

locationIconWithBearing

var locationIconWithBearing: String?

Icon for user position when device has compass sensor. Supports bearing rotation. Same format options as locationIcon.

maxZoom

var maxZoom: Double

Maximum allowed zoom level. Default: 24.0.

minZoom

var minZoom: Double

Minimum allowed zoom level. Default: 10.0.

parentPlaceId

var parentPlaceId: String?

Place ID to center map on. If set, overrides center and loads place styling.

pitch

var pitch: Double

Initial map pitch (tilt) in degrees. 0.0 = top-down, 60.0 = steep angle.

showCompass

var showCompass: Boolean

If true, shows compass indicator. Default: true.

trackingConfig

var trackingConfig: TrackingConfig

Types: TrackingConfig

Configuration for automatic location tracking reactivation after zoom changes. See TrackingConfig for details. Default: disabled (maintains current behavior).

userLocationAccessibility

var userLocationAccessibility: AccessibilityConfig?

Types: AccessibilityConfig

Accessibility configuration for location button. Overrides string resources.

width

var width: Int

Map width in pixels. If 0, uses parent view width.

x

var x: Int

X position offset in pixels. If 0, uses parent view X position.

y

var y: Int

Y position offset in pixels. If 0, uses parent view Y position.

zoom

var zoom: Double

Initial zoom level (0-22). Default: 0. Higher values = more zoomed in.

zoomInAccessibility

var zoomInAccessibility: AccessibilityConfig?

Types: AccessibilityConfig

Accessibility configuration for zoom in button. Overrides string resources.

zoomOutAccessibility

var zoomOutAccessibility: AccessibilityConfig?

Types: AccessibilityConfig

Accessibility configuration for zoom out button. Overrides string resources.

Last updated on