MapControlsOverlay

fun MapControlsOverlay(onToggleFilterMenu: () -> Unit, modifier: Modifier = Modifier, bearing: Float = 0.0f, onCompassClick: () -> Unit = {}, followPhoneBearing: Boolean = false, filterDropdownContent: @Composable () -> Unit = {}, mapTypeContent: @Composable () -> Unit = {}, layersContent: @Composable () -> Unit = {}, isLocationTrackingEnabled: Boolean = false, onToggleLocationTracking: () -> Unit = {}, showRefresh: Boolean = false, isRefreshing: Boolean = false, onRefresh: () -> Unit = {})(source)

Shared map controls overlay using HorizontalFloatingToolbar for Material 3 Expressive styling. Provides compass, filter button, location tracking button, and optional slots for flavor-specific content (map type selector, layers, refresh).

Parameters

onToggleFilterMenu

Callback to open/close the filter dropdown.

filterDropdownContent

Composable rendered inside a Box alongside the filter button — typically a DropdownMenu with filter options.

mapTypeContent

Optional composable for a map type selector button + dropdown. Google flavor provides map type and custom tile options; F-Droid provides a tile source selector.

layersContent

Optional composable for a layers management button.

showRefresh

Whether to show a refresh button (e.g., for network map layers).

isRefreshing

Whether a refresh is currently in progress.

onRefresh

Callback when the refresh button is clicked.