diff --git a/app/src/main/java/de/jadehs/strassenschadenpro2/MainActivity.kt b/app/src/main/java/de/jadehs/strassenschadenpro2/MainActivity.kt index ccfe148..f2cdebb 100644 --- a/app/src/main/java/de/jadehs/strassenschadenpro2/MainActivity.kt +++ b/app/src/main/java/de/jadehs/strassenschadenpro2/MainActivity.kt @@ -34,9 +34,10 @@ class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() + setContent { StrassenSchadenPro2Theme { - MainScreen() + MainScreen(application=application) } } } diff --git a/app/src/main/java/de/jadehs/strassenschadenpro2/MainScreen.kt b/app/src/main/java/de/jadehs/strassenschadenpro2/MainScreen.kt index 84e5ad2..c8dd9e4 100644 --- a/app/src/main/java/de/jadehs/strassenschadenpro2/MainScreen.kt +++ b/app/src/main/java/de/jadehs/strassenschadenpro2/MainScreen.kt @@ -1,5 +1,6 @@ package de.jadehs.strassenschadenpro2 +import android.app.Application import android.util.Log import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding @@ -25,7 +26,7 @@ import de.jadehs.strassenschadenpro2.pages.MapPage import de.jadehs.strassenschadenpro2.pages.SettingsPage @Composable -fun MainScreen(modifier: Modifier = Modifier) { +fun MainScreen(modifier: Modifier = Modifier, application: Application) { val navItemList = listOf( NavItem("Karte",Icons.Default.Place), @@ -52,15 +53,15 @@ fun MainScreen(modifier: Modifier = Modifier) { } }) { innerPadding -> - ContentScreen(modifier = Modifier.padding(innerPadding), selectedIndex) + ContentScreen(modifier = Modifier.padding(innerPadding), selectedIndex, application) } } @Composable -fun ContentScreen(modifier: Modifier = Modifier, selectedIndex: Int) { +fun ContentScreen(modifier: Modifier = Modifier, selectedIndex: Int, application: Application) { when(selectedIndex) { - 0 -> MapPage() + 0 -> MapPage(application=application) 1 -> CreatePage() 2 -> ListPage() 3 -> SettingsPage() diff --git a/app/src/main/java/de/jadehs/strassenschadenpro2/MapViewModel.kt b/app/src/main/java/de/jadehs/strassenschadenpro2/MapViewModel.kt new file mode 100644 index 0000000..f119fea --- /dev/null +++ b/app/src/main/java/de/jadehs/strassenschadenpro2/MapViewModel.kt @@ -0,0 +1,13 @@ +package de.jadehs.strassenschadenpro2 + +import android.app.Application +import androidx.lifecycle.AndroidViewModel +import com.arcgismaps.mapping.ArcGISMap +import com.arcgismaps.mapping.BasemapStyle +import com.arcgismaps.toolkit.geoviewcompose.MapViewProxy + +class MapViewModel(application: Application): AndroidViewModel(application) { + val map: ArcGISMap = ArcGISMap(BasemapStyle.OpenOsmStyle) + + val mapViewProxy = MapViewProxy() +} \ No newline at end of file diff --git a/app/src/main/java/de/jadehs/strassenschadenpro2/pages/MapPage.kt b/app/src/main/java/de/jadehs/strassenschadenpro2/pages/MapPage.kt index 93f3ffc..88efb89 100644 --- a/app/src/main/java/de/jadehs/strassenschadenpro2/pages/MapPage.kt +++ b/app/src/main/java/de/jadehs/strassenschadenpro2/pages/MapPage.kt @@ -1,10 +1,27 @@ package de.jadehs.strassenschadenpro2.pages +import android.app.Application +import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember import androidx.compose.ui.Modifier +import com.arcgismaps.ApiKey +import com.arcgismaps.ArcGISEnvironment +import com.arcgismaps.mapping.ArcGISMap +import com.arcgismaps.mapping.BasemapStyle +import com.arcgismaps.mapping.Viewpoint +import com.arcgismaps.toolkit.geoviewcompose.MapView +import de.jadehs.strassenschadenpro2.BuildConfig +import de.jadehs.strassenschadenpro2.MapViewModel @Composable -fun MapPage(modifier: Modifier = Modifier) { - Text("Karte") +fun MapPage(modifier: Modifier = Modifier, application: Application) { + ArcGISEnvironment.apiKey = ApiKey.create(BuildConfig.ARCGIS_TOKEN) + + val mapViewModel = remember { MapViewModel(application) } + + MapView(modifier = Modifier.fillMaxSize(), + arcGISMap = mapViewModel.map + ) } \ No newline at end of file