Не могу установить зум на мою карту без сбоя приложенияAndroid

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

Сообщение Anonymous »

Я разрабатываю приложение для Android с помощью JetPack Compose, которое использует карты Google, и я пытаюсь установить увеличение карты на свое место. Однако, когда вызывает CamerapositionState, приложение вылетает. Итак, я спросил Copilot, и он говорит, что место, вероятно, нулевое, поэтому приложение рухнет. Я пытался решить эту ошибку в течение двух дней и не мог заставить ее работать. Я проверил переменную местоположения, чтобы убедиться, что она не была null несколько раз. < /P>
Вот мой код. Я пропускаю некоторые части кода и просто сосредотачиваюсь на важных. Пожалуйста, дайте мне знать, если вам нужна другая часть .:

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

fun HomeView(
viewModel: LocationViewModel,
context: Context,
locationUtils: LocationUtils){

//getting the location from the viewModel
val location = viewModel.location.value

//transforming the coordinates into an address with geocode
val address = location?.let {
locationUtils.reverseGeocodeLocation(location)
}

//declaring this variable to use it at cameraPosition
val userLocation = remember {
mutableStateOf(LatLng(location!!.latitude, location.longitude))
}

//declaring the cameraPosition
// this is when the error occurs, because if I comment out this line the Exception doesn´t     appers
val cameraPositionState = rememberCameraPositionState{
position = CameraPosition.fromLatLngZoom(userLocation.value, 10f)
}

Scaffold(
topBar = { AppTopBar(title = "Map")},
){ innerPadding ->
Column(
modifier = Modifier.padding(innerPadding)) {

GoogleMap(
modifier = Modifier
.fillMaxWidth()
.padding(vertical = 16.dp)
.height(600.dp),
cameraPositionState = cameraPositionState
)
< /code>
locationData: < /p>
data class LocationData( val latitude: Double, val longitude: Double )

viewmodel:

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

class LocationViewModel: ViewModel() {

private val _location = mutableStateOf(null)
val location : State = _location

fun updateLocation(newLocation : LocationData){
_location.value = newLocation
}

}
ошибка: pid: 25814 java.lang.nullpointerexception
Я был бы очень благодарен, если кто -то поможет мне знать, почему это происходит и понять, как это избежать.
Добавление? или !! не работает.
Я Попробуйте сделать Latitude: Double?

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

 val userLocation = remember {
mutableStateOf(location?.latitude?.let { location.longitude?.let { it1 -> LatLng(it, it1) } })
}

val cameraPositionState = rememberCameraPositionState{
position = userLocation.value?.let { CameraPosition.fromLatLngZoom(it, 10f) }!!
}
не работает ни

Подробнее здесь: https://stackoverflow.com/questions/794 ... p-crashing
Ответить

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

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

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

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

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