diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 217e093..0f882c9 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -119,5 +119,6 @@ dependencies { implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0") - + // Map Compose library + implementation("ovh.plrapps:mapcompose:2.7.1") } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5f5c06a..5c7e740 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,6 +2,8 @@ + + Boolean, + updateFilter: () -> Unit, +) { + FilterChip( + selected = checkFilter(), + onClick = updateFilter, + label = { Text(name) }, + ) } \ No newline at end of file diff --git a/app/src/main/java/ru/nm17/narodmon/ui/viewmodel/MapViewModel.kt b/app/src/main/java/ru/nm17/narodmon/ui/viewmodel/MapViewModel.kt new file mode 100644 index 0000000..b95270d --- /dev/null +++ b/app/src/main/java/ru/nm17/narodmon/ui/viewmodel/MapViewModel.kt @@ -0,0 +1,21 @@ +package ru.nm17.narodmon.ui.viewmodel + +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.lifecycle.ViewModel +import ovh.plrapps.mapcompose.api.addLayer +import ovh.plrapps.mapcompose.core.TileStreamProvider +import ovh.plrapps.mapcompose.ui.state.MapState +import java.net.URL + +class MapViewModel : ViewModel() { + private val tileStreamProvider = TileStreamProvider { row, col, zoom -> + URL("https://tile.openstreetmap.org/${zoom}/${row}/${col}").openStream() + } + + val state: MapState by mutableStateOf( + MapState(4, 4, 4096).apply { + addLayer(tileStreamProvider) + } + ) +} \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 50cd33f..e6c67e6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -15,4 +15,7 @@ Примите необходимые соглашения Сенсоры Ожидаю соглашение пользователя + Все + Термометры + Камеры \ No newline at end of file