Refactor map integration to use MapLibre instead of Mapbox

- Removed Mapbox dependencies and related configurations from settings.gradle.kts and build.gradle.kts.
- Implemented MapViewModel to manage zone data and loading state.
- Updated MapScreen to render zones using MapLibre, including loading indicators and error handling.
- Added GeoJSON generation for zone data to be displayed on the map.
- Updated libraries version to use MapLibre Compose.
This commit is contained in:
Redsandy
2026-03-14 23:58:27 +03:00
parent 4cc43a410b
commit ffc5d0887e
5 changed files with 193 additions and 36 deletions

View File

@@ -30,13 +30,6 @@ android {
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
// Inject Mapbox public token as a BuildConfig field
buildConfigField(
"String",
"MAPBOX_PUBLIC_TOKEN",
"\"${localProperties.getProperty("MAPBOX_PUBLIC_TOKEN", "")}\""
)
// Backend base URL
buildConfigField(
"String",
@@ -121,8 +114,8 @@ dependencies {
implementation(libs.kotlinx.serialization.json)
implementation(libs.retrofit.kotlinx.serialization)
// Mapbox (uncomment after setting MAPBOX_DOWNLOADS_TOKEN in local.properties)
// implementation(libs.mapbox.maps)
// MapLibre (free, no API key needed)
implementation(libs.maplibre.compose)
// Firebase (uncomment when google-services.json is added)
// implementation(platform(libs.firebase.bom))