Android Compose: грубое определение местоположенияAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android Compose: грубое определение местоположения

Сообщение Anonymous »

Когда пользователь выбирает грубое местоположение, как мне нарисовать на карте круг, который также масштабируется в зависимости от уровня масштабирования?

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

    val locationCallback = object : LocationCallback() {
override fun onLocationResult(result: LocationResult) {
super.onLocationResult(result)
result.locations.lastOrNull()?.let { location ->
trySend(
Result.Success(
LocationPoint(
latitude = location.latitude,
longitude = location.longitude,
radius = location.accuracy
)
)
)
}
}
}
Я использую поток, чтобы вернуться к местоположению и сохранить точность для грубого местоположения.
Я создал это

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

GoogleMap(
cameraPositionState = cameraPosition,
modifier = Modifier
.fillMaxSize()
) {
MarkerComposable(
userMarkerKey,
state = userMarkerState
) {
when {
hasFineLocationPermission == true -> {
UserFineLocationIndicator()
}

hasCourseLocationPermission == true -> {
UserCoarseLocationIndicator(
radius = radius,
zoomLevel = cameraPosition.position.zoom
)
}
}
}
Это

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

@Composable
fun UserCoarseLocationIndicator(
radius: Float?,
zoomLevel: Float
) {
val scaledRadius = (radius ?: 12f) / (20 - zoomLevel)

Box(
modifier = Modifier
.size(scaledRadius.dp)
.clip(CircleShape)
.background(HoaxYellow.copy(alpha = 0.3f))
)
}
И, похоже, это не сработает.
Уменьшение масштаба не уменьшает круг.
Увеличение масштаба делает круг меньше.Как мне создать подобие круга в SDK Google Maps?
Бонусный балл:
Даже для точного положения, как мне нарисовать круг точности вокруг этого?

Подробнее здесь: https://stackoverflow.com/questions/791 ... e-location
Ответить

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

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

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

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

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