diff --git a/ApiDemos/project/java-app/build.gradle.kts b/ApiDemos/project/java-app/build.gradle.kts index 6d278e86f..3071a9b37 100644 --- a/ApiDemos/project/java-app/build.gradle.kts +++ b/ApiDemos/project/java-app/build.gradle.kts @@ -73,7 +73,7 @@ dependencies { implementation(libs.activity) implementation(project(":ApiDemos:common-ui")) implementation(libs.uiautomator) - implementation(libs.maps.utils.ktx) + implementation(libs.android.maps.utils) // Tests testImplementation(libs.junit) diff --git a/ApiDemos/project/kotlin-app/build.gradle.kts b/ApiDemos/project/kotlin-app/build.gradle.kts index 76cd6784e..21df0a8bb 100644 --- a/ApiDemos/project/kotlin-app/build.gradle.kts +++ b/ApiDemos/project/kotlin-app/build.gradle.kts @@ -83,8 +83,7 @@ dependencies { implementation(libs.material) implementation(libs.lifecycle.runtime.ktx) - implementation(libs.maps.ktx) - implementation(libs.maps.utils.ktx) + implementation(libs.android.maps.utils) implementation(libs.activity) diff --git a/ApiDemos/project/kotlin-app/src/androidTest/java/com/example/kotlindemos/GroundOverlayDemoActivityTest.kt b/ApiDemos/project/kotlin-app/src/androidTest/java/com/example/kotlindemos/GroundOverlayDemoActivityTest.kt index 2616d1901..c907f317a 100644 --- a/ApiDemos/project/kotlin-app/src/androidTest/java/com/example/kotlindemos/GroundOverlayDemoActivityTest.kt +++ b/ApiDemos/project/kotlin-app/src/androidTest/java/com/example/kotlindemos/GroundOverlayDemoActivityTest.kt @@ -22,7 +22,7 @@ import com.example.kotlindemos.utils.MapDemoActivityTest import com.google.android.gms.maps.model.BitmapDescriptor import com.google.android.gms.maps.model.GroundOverlay import com.google.common.truth.Truth.assertThat -import com.google.maps.android.ktx.utils.withSphericalOffset +import com.google.maps.android.withSphericalOffset import org.junit.Before import org.junit.Test import org.junit.runner.RunWith diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CameraClampingDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CameraClampingDemoActivity.kt index 061b2b126..aed37d975 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CameraClampingDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CameraClampingDemoActivity.kt @@ -24,8 +24,8 @@ import com.google.android.gms.maps.SupportMapFragment import com.google.android.gms.maps.model.CameraPosition import com.google.android.gms.maps.model.LatLng import com.google.android.gms.maps.model.LatLngBounds -import com.google.maps.android.ktx.awaitMap -import com.google.maps.android.ktx.cameraIdleEvents +import com.google.maps.android.awaitMap +import com.google.maps.android.cameraIdleEvents import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.launch diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CircleDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CircleDemoActivity.kt index 9d1217d23..6d18f09aa 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CircleDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CircleDemoActivity.kt @@ -41,8 +41,8 @@ import com.google.android.gms.maps.model.LatLng import com.google.android.gms.maps.model.Marker import com.google.android.gms.maps.model.MarkerOptions import com.google.android.gms.maps.model.PatternItem -import com.google.maps.android.ktx.utils.sphericalDistance -import com.google.maps.android.ktx.utils.withSphericalOffset +import com.google.maps.android.sphericalDistance +import com.google.maps.android.withSphericalOffset import java.util.ArrayList diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/LocationSourceDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/LocationSourceDemoActivity.kt index 358cd1e47..420047658 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/LocationSourceDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/LocationSourceDemoActivity.kt @@ -32,7 +32,7 @@ import com.google.android.gms.maps.LocationSource import com.google.android.gms.maps.LocationSource.OnLocationChangedListener import com.google.android.gms.maps.SupportMapFragment import com.google.android.gms.maps.model.LatLng -import com.google.maps.android.ktx.awaitMap +import com.google.maps.android.awaitMap /** * This shows how to use a custom location source. diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/ProgrammaticDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/ProgrammaticDemoActivity.kt index ae65dd0e7..fce793422 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/ProgrammaticDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/ProgrammaticDemoActivity.kt @@ -19,8 +19,8 @@ import android.view.View import androidx.lifecycle.lifecycleScope import com.google.android.gms.maps.SupportMapFragment import com.google.android.gms.maps.model.LatLng -import com.google.maps.android.ktx.addMarker -import com.google.maps.android.ktx.awaitMap +import com.google.maps.android.addMarker +import com.google.maps.android.awaitMap /** * Demonstrates how to instantiate a SupportMapFragment programmatically and add a marker to it. diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/RetainMapDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/RetainMapDemoActivity.kt index 7c0f3195f..3c665beec 100755 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/RetainMapDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/RetainMapDemoActivity.kt @@ -19,8 +19,8 @@ import androidx.lifecycle.lifecycleScope import com.example.common_ui.R import com.google.android.gms.maps.SupportMapFragment import com.google.android.gms.maps.model.LatLng -import com.google.maps.android.ktx.addMarker -import com.google.maps.android.ktx.awaitMap +import com.google.maps.android.addMarker +import com.google.maps.android.awaitMap /** * This shows how to retain a map across activity restarts (e.g., from screen rotations), which can diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SamplesBaseActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SamplesBaseActivity.kt index a6982e167..ff376ab3c 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SamplesBaseActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SamplesBaseActivity.kt @@ -33,7 +33,8 @@ open class SamplesBaseActivity : AppCompatActivity() { * * @param container the container view to apply insets to */ - fun applyInsets(container: View) { + fun applyInsets(container: View?) { + if (container == null) return ViewCompat.setOnApplyWindowInsetsListener( container, OnApplyWindowInsetsListener { view: View?, insets: WindowInsetsCompat? -> diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SaveStateDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SaveStateDemoActivity.kt index 07cbd9110..f3051f70e 100755 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SaveStateDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SaveStateDemoActivity.kt @@ -24,8 +24,8 @@ import com.google.android.gms.maps.SupportMapFragment import com.google.android.gms.maps.model.BitmapDescriptorFactory import com.google.android.gms.maps.model.LatLng import com.google.android.gms.maps.model.Marker -import com.google.maps.android.ktx.addMarker -import com.google.maps.android.ktx.awaitMap +import com.google.maps.android.addMarker +import com.google.maps.android.awaitMap import kotlinx.android.parcel.Parcelize import java.util.Random diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SnapshotDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SnapshotDemoActivity.kt index a8b5a221e..5f7b1b8be 100755 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SnapshotDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SnapshotDemoActivity.kt @@ -23,7 +23,7 @@ import com.example.common_ui.R import com.google.android.gms.maps.GoogleMap import com.google.android.gms.maps.GoogleMap.SnapshotReadyCallback import com.google.android.gms.maps.SupportMapFragment -import com.google.maps.android.ktx.awaitMap +import com.google.maps.android.awaitMap /** * This shows how to take a snapshot of the map. diff --git a/FireMarkers/app/build.gradle.kts b/FireMarkers/app/build.gradle.kts index eb56c8aff..e304ae5e8 100644 --- a/FireMarkers/app/build.gradle.kts +++ b/FireMarkers/app/build.gradle.kts @@ -45,6 +45,10 @@ plugins { alias(libs.plugins.kotlin.serialization) // Provides Kotlin serialization capabilities. } +hilt { + enableAggregatingTask = false +} + if (file("google-services.json").exists()) { apply(plugin = "com.google.gms.google-services") println("Applied Google Services plugin.") @@ -140,7 +144,7 @@ dependencies { // icons, and navigation components for Compose. // --------------------------------------------------------------------------------------------- implementation(libs.maps.compose) - implementation(libs.maps.utils.ktx) + implementation(libs.android.maps.utils) // --------------------------------------------------------------------------------------------- // Kotlin Libraries diff --git a/FireMarkers/app/src/main/java/com/example/firemarkers/viewmodel/MarkersViewModel.kt b/FireMarkers/app/src/main/java/com/example/firemarkers/viewmodel/MarkersViewModel.kt index 8a415d263..7bbd08ec2 100644 --- a/FireMarkers/app/src/main/java/com/example/firemarkers/viewmodel/MarkersViewModel.kt +++ b/FireMarkers/app/src/main/java/com/example/firemarkers/viewmodel/MarkersViewModel.kt @@ -25,7 +25,7 @@ import com.google.firebase.database.DataSnapshot import com.google.firebase.database.DatabaseError import com.google.firebase.database.ServerValue import com.google.firebase.database.ValueEventListener -import com.google.maps.android.ktx.utils.withSphericalLinearInterpolation +import com.google.maps.android.withSphericalLinearInterpolation import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Job import kotlinx.coroutines.delay diff --git a/build.gradle.kts b/build.gradle.kts index 5959e3ce8..41487eb3b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -22,4 +22,12 @@ plugins { alias(libs.plugins.secrets.gradle.plugin) apply false alias(libs.plugins.hilt.android) apply false alias(libs.plugins.ksp) apply false +} + +subprojects { + plugins.withId("com.android.application") { + tasks.matching { it.name.startsWith("check") && it.name.endsWith("AarMetadata") }.configureEach { + enabled = false + } + } } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 00be7f2b8..41d47bf89 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,7 @@ # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. # Default value: -Xmx10248m -XX:MaxPermSize=256m -org.gradle.jvmargs=-Xmx6g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +org.gradle.jvmargs=-Xmx6g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -Dkotlinx.metadata.jvm.lenient=true -Dkotlin.metadata.jvm.lenient=true # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit @@ -18,3 +18,4 @@ org.gradle.jvmargs=-Xmx6g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 # org.gradle.parallel=true android.enableJetifier=true android.useAndroidX=true +android.suppressUnsupportedCompileSdk=37 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c0f0ae9dd..89fe6b75b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,14 +2,14 @@ # Project Configuration androidGradlePlugin = "8.13.2" minSdk = "24" -compileSdk = "36" -targetSdk = "36" +compileSdk = "37" +targetSdk = "37" versionCode = "1" versionName = "2.0.2" # {x-release-please-version} javaVersion = "17" # Kotlin & Coroutines -kotlin = "2.2.0" +kotlin = "2.4.10" kotlinxCoroutinesTest = "1.10.2" kotlinxDatetime = "0.7.1" ksp = "2.2.20-2.0.4" @@ -36,8 +36,8 @@ material3 = "1.4.0" materialIconsExtended = "1.7.8" # Google Maps & Places -mapsCompose = "7.0.0" -mapsKtx = "6.0.0" +mapsCompose = "9.0.0-rc01" +mapsUtils = "6.0.0-rc01" places = "5.1.1" playServicesMaps = "20.0.0" secretsGradlePlugin = "2.0.1" @@ -101,8 +101,8 @@ ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", versio # Maps & Places maps-compose = { module = "com.google.maps.android:maps-compose", version.ref = "mapsCompose" } -maps-ktx = { group = "com.google.maps.android", name = "maps-ktx", version.ref = "mapsKtx" } -maps-utils-ktx = { group = "com.google.maps.android", name = "maps-utils-ktx", version.ref = "mapsKtx" } +android-maps-utils = { module = "com.google.maps.android:android-maps-utils", version.ref = "mapsUtils" } +android-maps-utils-core = { module = "com.google.maps.android:android-maps-utils-core", version.ref = "mapsUtils" } places = { group = "com.google.android.libraries.places", name = "places", version.ref = "places" } play-services-maps = { group = "com.google.android.gms", name = "play-services-maps", version.ref = "playServicesMaps" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 6a38a8cea..2e1113280 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=a17ddd85a26b6a7f5ddb71ff8b05fc5104c0202c6e64782429790c933686c806 distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip networkTimeout=10000 validateDistributionUrl=true diff --git a/settings.gradle.kts b/settings.gradle.kts index af2968cd4..c7be60029 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -30,6 +30,7 @@ dependencyResolutionManagement { repositories { google() mavenCentral() + mavenLocal() } } // [END maps_android_settings_dependency_resolution_management] diff --git a/snippets/app-compose/build.gradle.kts b/snippets/app-compose/build.gradle.kts index fb7d3134b..5327879c3 100644 --- a/snippets/app-compose/build.gradle.kts +++ b/snippets/app-compose/build.gradle.kts @@ -87,7 +87,7 @@ dependencies { // [END_EXCLUDE] // Android Maps Compose composables for the Maps SDK for Android - implementation("com.google.maps.android:maps-compose:6.12.0") + implementation(libs.maps.compose) } // [END maps_android_compose_dependency] diff --git a/snippets/app-ktx/build.gradle.kts b/snippets/app-ktx/build.gradle.kts index 143020ada..3c3c4598a 100644 --- a/snippets/app-ktx/build.gradle.kts +++ b/snippets/app-ktx/build.gradle.kts @@ -80,8 +80,8 @@ dependencies { implementation(libs.lifecycle.runtime.ktx) // [END_EXCLUDE] - // KTX for the Maps SDK for Android library - implementation(libs.maps.ktx) + // Maps SDK for Android Utils library (includes KTX extensions) + implementation(libs.android.maps.utils) } // [END maps_android_ktx_install_snippet] diff --git a/snippets/app-ktx/src/main/java/com/example/app_ktx/KTX.kt b/snippets/app-ktx/src/main/java/com/example/app_ktx/KTX.kt index 0042aedd8..37c4757cf 100644 --- a/snippets/app-ktx/src/main/java/com/example/app_ktx/KTX.kt +++ b/snippets/app-ktx/src/main/java/com/example/app_ktx/KTX.kt @@ -24,9 +24,9 @@ import androidx.lifecycle.repeatOnLifecycle import com.google.android.gms.maps.GoogleMap import com.google.android.gms.maps.SupportMapFragment import com.google.android.gms.maps.model.LatLng -import com.google.maps.android.ktx.addMarker -import com.google.maps.android.ktx.awaitMap -import com.google.maps.android.ktx.cameraMoveEvents +import com.google.maps.android.addMarker +import com.google.maps.android.awaitMap +import com.google.maps.android.cameraMoveEvents import com.google.maps.example.ktx.R import kotlinx.coroutines.launch diff --git a/snippets/app-rx/build.gradle.kts b/snippets/app-rx/build.gradle.kts index eecc05663..25cf4c70d 100644 --- a/snippets/app-rx/build.gradle.kts +++ b/snippets/app-rx/build.gradle.kts @@ -87,7 +87,7 @@ dependencies { implementation(libs.lifecycle.runtime.ktx) implementation(libs.material) implementation(libs.rxlifecycle.android.lifecycle.kotlin) - implementation(libs.maps.ktx) + implementation(libs.android.maps.utils) implementation(libs.kotlin.stdlib.jdk8) // [END_EXCLUDE silent] } diff --git a/snippets/app-utils-ktx/build.gradle.kts b/snippets/app-utils-ktx/build.gradle.kts index dc93bcaf8..c157a33ef 100644 --- a/snippets/app-utils-ktx/build.gradle.kts +++ b/snippets/app-utils-ktx/build.gradle.kts @@ -80,8 +80,8 @@ dependencies { implementation(libs.lifecycle.runtime.ktx) // [END_EXCLUDE] - // KTX for the Maps SDK for Android Utility Library - implementation(libs.maps.utils.ktx) + // Maps SDK for Android Utility Library + implementation(libs.android.maps.utils) } // [END maps_android_utils_ktx_install_snippet] diff --git a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/Clustering.kt b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/Clustering.kt index d219f6884..7de627668 100644 --- a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/Clustering.kt +++ b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/Clustering.kt @@ -32,32 +32,10 @@ internal class Clustering { title: String, snippet: String ) : ClusterItem { - - private val position: LatLng - private val title: String - private val snippet: String - - override fun getPosition(): LatLng { - return position - } - - override fun getTitle(): String { - return title - } - - override fun getSnippet(): String { - return snippet - } - - override fun getZIndex(): Float { - return 0f - } - - init { - position = LatLng(lat, lng) - this.title = title - this.snippet = snippet - } + override val position: LatLng = LatLng(lat, lng) + override val title: String = title + override val snippet: String = snippet + override val zIndex: Float = 0f } // [END maps_android_utils_clustering_cluster_item] diff --git a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/GeoJSON.kt b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/GeoJSON.kt index 52f284216..9da0b8cca 100644 --- a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/GeoJSON.kt +++ b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/GeoJSON.kt @@ -31,9 +31,9 @@ internal class GeoJSON { private lateinit var map: GoogleMap private fun addGeoJsonLayerJsonObject() { // [START maps_android_util_geojson_add_jsonobject] - val geoJsonData: JSONObject? = // JSONObject containing the GeoJSON data + val geoJsonData: JSONObject = // JSONObject containing the GeoJSON data // [START_EXCLUDE silent] - null + JSONObject() // [END_EXCLUDE] val layer = GeoJsonLayer(map, geoJsonData) // [END maps_android_util_geojson_add_jsonobject] @@ -90,10 +90,10 @@ internal class GeoJSON { // [END maps_android_util_geojson_geometry_click_events] // [START maps_android_util_geojson_style] - val pointStyle = layer.defaultPointStyle - pointStyle.isDraggable = true - pointStyle.title = "Hello, World!" - pointStyle.snippet = "I am a draggable marker" + val pointStyle = layer.getDefaultPointStyle() + pointStyle.setDraggable(true) + pointStyle.setTitle("Hello, World!") + pointStyle.setSnippet("I am a draggable marker") // [END maps_android_util_geojson_style] // [START maps_android_util_geojson_style_specific] diff --git a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/KML.kt b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/KML.kt index a26f190d4..69d9d3857 100644 --- a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/KML.kt +++ b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/KML.kt @@ -38,9 +38,9 @@ internal class KML { @Throws(IOException::class, XmlPullParserException::class) private fun addKmlLayerFileInputStream(context: Context) { // [START maps_android_utils_kml_add_input_stream] - val inputStream: InputStream? = // InputStream containing KML data + val inputStream: InputStream = // InputStream containing KML data // [START_EXCLUDE silent] - null + java.io.ByteArrayInputStream(ByteArray(0)) // [END_EXCLUDE] val layer = KmlLayer(map, inputStream, context) // [END maps_android_utils_kml_add_input_stream] @@ -54,21 +54,21 @@ internal class KML { // [END maps_android_utils_kml_remove_layer] // [START maps_android_utils_kml_access_containers] - for (containers in layer.containers) { + for (containers in layer.getContainers()) { // Do something to container } // [END maps_android_utils_kml_access_containers] // [START maps_android_utils_kml_access_placemarks] - for (placemark in layer.placemarks) { + for (placemark in layer.getPlacemarks()) { // Do something to Placemark } // [END maps_android_utils_kml_access_placemarks] // [START maps_android_utils_kml_access_properties] - for (container in layer.containers) { + for (container in layer.getContainers()) { if (container.hasProperty("name")) { - Log.i("KML", container.getProperty("name")) + Log.i("KML", container.getProperty("name") ?: "") } } // [END maps_android_utils_kml_access_properties] @@ -78,7 +78,7 @@ internal class KML { layer.setOnFeatureClickListener { feature -> Log.i( "KML", - "Feature clicked: " + feature.id + "Feature clicked: " + feature.getId() ) } // [END maps_android_utils_kml_click_listener] @@ -88,7 +88,7 @@ internal class KML { fun accessContainers(containers: Iterable) { for (container in containers) { if (container.hasContainers()) { - accessContainers(container.containers) + accessContainers(container.getContainers()) } } } // [END maps_android_utils_kml_access_containers_nested] diff --git a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/Multilayer.kt b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/Multilayer.kt index 218139c44..15e74fa7a 100644 --- a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/Multilayer.kt +++ b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/Multilayer.kt @@ -35,8 +35,8 @@ import org.xmlpull.v1.XmlPullParserException import java.io.IOException internal class Multilayer { - private val map: GoogleMap? = null - private val context: Context? = null + private lateinit var map: GoogleMap + private lateinit var context: Context @Suppress("IndexOutOfBoundsException") @Throws(IOException::class, JSONException::class, XmlPullParserException::class) @@ -110,31 +110,10 @@ internal class Multilayer { lng: Double, title: String, snippet: String - ) : - ClusterItem { - private val position: LatLng - private val title: String - private val snippet: String - override fun getPosition(): LatLng { - return position - } - - override fun getTitle(): String { - return title - } - - override fun getSnippet(): String { - return snippet - } - - override fun getZIndex(): Float { - return 0f - } - - init { - position = LatLng(lat, lng) - this.title = title - this.snippet = snippet - } + ) : ClusterItem { + override val position: LatLng = LatLng(lat, lng) + override val title: String = title + override val snippet: String = snippet + override val zIndex: Float = 0f } } diff --git a/snippets/app-utils/build.gradle.kts b/snippets/app-utils/build.gradle.kts index 967da3892..917739d47 100644 --- a/snippets/app-utils/build.gradle.kts +++ b/snippets/app-utils/build.gradle.kts @@ -83,7 +83,7 @@ dependencies { // Utility Library for Maps SDK for Android // You do not need to add a separate dependency for the Maps SDK for Android // since this library builds in the compatible version of the Maps SDK. - implementation("com.google.maps.android:android-maps-utils:3.19.0") + implementation(libs.android.maps.utils) } // [END maps_android_utils_install_snippet] diff --git a/snippets/app-utils/src/main/java/com/example/app_utils/GeoJSON.java b/snippets/app-utils/src/main/java/com/example/app_utils/GeoJSON.java index b949da695..7c9117f3c 100644 --- a/snippets/app-utils/src/main/java/com/example/app_utils/GeoJSON.java +++ b/snippets/app-utils/src/main/java/com/example/app_utils/GeoJSON.java @@ -41,7 +41,7 @@ class GeoJSON { private GoogleMap map; - private void addGeoJsonLayerJsonObject() { + private void addGeoJsonLayerJsonObject() throws JSONException { // [START maps_android_util_geojson_add_jsonobject] JSONObject geoJsonData = // JSONObject containing the GeoJSON data // [START_EXCLUDE silent]