Есть ли способ изменить положение кнопок API Карт Google в Compose?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Есть ли способ изменить положение кнопок API Карт Google в Compose?

Сообщение Anonymous »

Я хотел бы переместить кнопки карты, в основном кнопку «Компас» (которая появляется в левом верхнем углу) и кнопку «Мое местоположение» (которая появляется в правом верхнем углу), чтобы я мог положить их вниз или в любое другое положение, кроме до самого верха.

В настоящее время ими сложно пользоваться, поскольку они находятся под строкой состояния и положением моей камеры, но мне нравится, что карта простирается до самого верха, и я бы не стал обычно люблю перемещать карту вниз.

Снимок экрана с моей картой

Это мой код:

Код: Выделить всё

@Composable
fun MapsScreen() {
// Obtener el contexto actual de la aplicación
val context = LocalContext.current

// Verificar si el dispositivo está en tema oscuro o claro
val isDarkTheme =
when (context.resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) {
Configuration.UI_MODE_NIGHT_YES -> true
else -> false
}

// Elegir el estilo del mapa según el tema del dispositivo
val mapStyleTheme = if (isDarkTheme) {
R.raw.mapstyle_night
} else {
R.raw.mapstyle_day
}

// Obtener el cliente FusedLocationProviderClient para obtener la última ubicación conocida
val fusedLocationClient: FusedLocationProviderClient =
LocationServices.getFusedLocationProviderClient(context)
var lastKnownLocation by remember {
mutableStateOf(
LatLng(
0.0,
0.0
)
)
}
var zoom by remember { mutableFloatStateOf(10f) }

// Comprobación de permisos requerida (obligatoria) por de Android
if (ActivityCompat.checkSelfPermission(
context,
Manifest.permission.ACCESS_FINE_LOCATION
) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(
context,
Manifest.permission.ACCESS_COARSE_LOCATION
) != PackageManager.PERMISSION_GRANTED
) {
return
}

// Mover la cámara a la última ubicación conocida
val cameraPositionState = rememberCameraPositionState {
fusedLocationClient.lastLocation
.addOnSuccessListener { location: Location? ->
// Verifica si la ubicación no es nula
location?.let {
// Actualiza la latitud y longitud
val latitud = location.latitude
val longitud = location.longitude
// Actualiza la última ubicación conocida
lastKnownLocation = LatLng(latitud, longitud)
println("Location: $lastKnownLocation")
zoom = 15f
// Actualiza la posición de la cámara
position = CameraPosition.fromLatLngZoom(lastKnownLocation, zoom)
}
}
}
// Configuración de la UI del mapa
val uiSettings by remember {
mutableStateOf(
MapUiSettings(
myLocationButtonEnabled = true,
mapToolbarEnabled = true,
)
)
}
// Configuración de las propiedades del mapa
val properties by remember {
mutableStateOf(
MapProperties(
mapType = MapType.NORMAL,
isMyLocationEnabled = true,
mapStyleOptions = MapStyleOptions.loadRawResourceStyle(
context,
mapStyleTheme
) // Estilo del mapa personalizado basado en el tema del dispositivo (mapStyleTheme)
)
)
}
// Composable para mostrar el mapa
GoogleMap(
modifier = Modifier.fillMaxSize(),
cameraPositionState = cameraPositionState,
properties = properties,
uiSettings = uiSettings
) {
Marker(
state = MarkerState(position = lastKnownLocation),
title = "lastKnownLocation",
snippet = "Marker in lastKnownLocation"
)
}
}
На данный момент я не нашел документации по изменению положения кнопок в Android.

Подробнее здесь: https://stackoverflow.com/questions/784 ... in-compose
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»