Wie kann ein Zirkularprogressindikator komponierbar angezeigt werden, bis jeder Advancedmarker zu Maps hinzugefügt wurde? Es gibt viele Marker, und ein gefrorener Bildschirm wird festgestellt, bis alle Marker hinzugefügt werden. Die "Laden" -Variable des Uistats, weil dieses Zeug ausschließlich von der Benutzeroberfläche stammt, ist es UI -Logik. Ich habe versucht, die Variable in der Uistate meiner ViewModel beim Laden der Markierungen zu true zu setzen, und habe es beim Übermal auf false gesetzt, und ich habe versucht, VM.Setloading (VM.Setloading ( true) und vm.setloading (false) vor und danach für. Für die Anzeige des Fortschritts habe ich die Karte und diesen kreisförmigen Fortschritt in einer Box eingebettet, aber es hat nicht funktioniert, und der Fortschritt wird nicht angezeigt. < /P>
Code: Select all
Box(
modifier = modifier.fillMaxSize()
) {
GoogleMap(
modifier = Modifier.fillMaxSize(),
cameraPositionState = cameraPositionState
) {
vm.setLoading(true)
for (itemin uiState.data) {
AdvancedMarker(
state = rememberMarkerState(position = LatLng(item.lat, item.lon)),
title = item.name
)
}
vm.setLoading(false)
}
if (uiState.loading) {
Box(Modifier.fillMaxSize().background(Color.White.copy(alpha = 0.5f)))
CircularProgressIndicator(modifier = Modifier.fillMaxSize().wrapContentSize(Alignment.Center))
}
}