From 96d7819d00ee84d1ec9fb2ffb10b60a96bdf83d4 Mon Sep 17 00:00:00 2001 From: DarkCat09 Date: Mon, 5 Jun 2023 18:43:51 +0400 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BA=D0=B0=D1=80=D1=82=D0=B0=20=D0=BD=D0=B0=20?= =?UTF-8?q?=D1=8D=D0=BA=D1=80=D0=B0=D0=BD=20=D1=81=D0=B5=D0=BD=D1=81=D0=BE?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=20(=D0=BF=D0=BE=D0=BA=D0=B0=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B4=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B0=20=D1=82=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=D0=BE=D0=B2=20=D0=BD=D0=B5=20=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=B0=D0=B5=D1=82),=20=D1=84=D0=B8=D0=BB=D1=8C=D1=82?= =?UTF-8?q?=D1=80-=D1=87=D0=B8=D0=BF=D1=8B=20=D1=83=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=B2=20=D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D1=8C?= =?UTF-8?q?=D0=BD=D1=8B=D0=B9=20composable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 3 +- app/src/main/AndroidManifest.xml | 2 + .../java/ru/nm17/narodmon/ui/pages/Sensors.kt | 63 ++++++++++++++----- .../narodmon/ui/viewmodel/MapViewModel.kt | 21 +++++++ app/src/main/res/values/strings.xml | 3 + 5 files changed, 75 insertions(+), 17 deletions(-) create mode 100644 app/src/main/java/ru/nm17/narodmon/ui/viewmodel/MapViewModel.kt 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