Modul zobrazení polohy v mapě
Veškeré zdrojové soubory se nachází v ./map
- Google Maps
- Mapy.com
- Mapbox
MapView
@Composable
fun MapView(latitude: Double, longitude: Double)
| Parameter | Type | Description |
|---|---|---|
| latitude | Double | Zeměpisná šířka středu mapy |
| longitude | Double | Zeměpisná délka středu mapy |
GoogleMarkerLayer
@Composable
fun GoogleMarkerLayer()
MapViewModel
class MapViewModel(
private val x: Double,
private val y: Double,
private val apiKey : String
) : ViewModel()
| Parameter | Type | Description |
|---|---|---|
| x | Double | Normalizovaná souřadnice X obrazovky |
| y | Double | Normalizovaná souřadnice Y obrazovky |
| apiKey | String | Api klíč pro Mapy.com |
LocationViewModel
class LocationViewModel(
private val fusedLocationProviderClient: FusedLocationProviderClient,
) : ViewModel()
| Parameter | Type | Description |
|---|---|---|
| fusedLocationProviderClient | FusedLocationProviderClient | GPS client |
Atributy
| Variable | Type | Description |
|---|---|---|
| location | Point | GPS pozice |
Funkce
fun loadLocation()
Uloží současnou GPS pozici do proměnné location
MapView
@Composable
fun MapView(latitude: Double, longitude: Double)
| Parameter | Type | Description |
|---|---|---|
| latitude | Double | Zeměpisná šířka středu mapy |
| longitude | Double | Zeměpisná délka středu mapy |
MapContainer
@Composable
fun MapContainer(modifier: Modifier = Modifier, viewModel: MapViewModel)
| Parameter | Type | Description |
|---|---|---|
| modifier | Modifier | Jetpack Compose UI konfigurace |
| viewModel | MapViewModel | MapViewModel pro získání dat mapy |
Funkce
fun latLonToNormalized(latitude: Double, longitude: Double): Pair<Double, Double>
Převod geografických souřadnic na normalizované souřadnice obrazovky
MapView
@OptIn(MapboxExperimental::class)
@Composable
fun MapView(latitude: Double, longitude: Double)
| Parameter | Type | Description |
|---|---|---|
| latitude | Double | Zeměpisná šířka středu mapy |
| longitude | Double | Zeměpisná délka středu mapy |
PositionsViewModel
class PositionsViewModel(
private val url : String
) : ViewModel()
| Parameter | Type | Description |
|---|---|---|
| url | String | Základ URL pro API |
Atributy
| Variable | Type | Description |
|---|---|---|
| positions | List<Position> | Seznam pozic závodníků |
Funkce
fun fetchPositions()
Načtení pozic závodníků do proměnné positions
Position
data class Position(val name: String, val latitude: Double, val longitude: Double)
| Parameter | Type | Description |
|---|---|---|
| name | String | Jméno/Číslo závodníka |
| latitude | Double | Zeměpisná šířka závodníka |
| longitude | Double | Zeměpisná délka závodníka |
SettingsViewModel
class SettingsViewModel(
private val url : String
) : ViewModel()
| Parameter | Type | Description |
|---|---|---|
| url | String | Základ URL pro API |
Atributy
| Variable | Type | Description |
|---|---|---|
| sharing | Int | Volba sdílení pozice |
Funkce
fun getSharing()
Načtení volby sdílení do proměnné sharing
fun postSharing(value : Int)
Zaslání volby sdílení na API
SettingsScreen
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun SettingsScreen()