Uppsetning á Google Maps
Hvernig stýra má Google Maps SDK for Android gegnum MapConductor — að fá API-lykil, skjóta honum inn með Secrets Gradle Plugin, og koma GoogleMapView á skjáinn.
Áður en þú byrjar
Fáðu API-lykil
- Opnaðu Google Cloud Console.
- Búðu til verkefni eða veldu eitt sem er til.
- Virkjaðu Maps SDK for Android.
- Búðu til API-lykil undir Credentials.
- Takmarkaðu lykilinn við pakkaheiti forritsins og SHA-1 fingrafar vottorðsins.
Bættu við Secrets Gradle Plugin
Þannig helst lykillinn utan við útgáfustýringu: viðbótin les secrets.properties og setur gildið inn í staðgengilinn í AndroidManifest.xml við smíði.
plugins {
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") version "2.0.1" apply false
}Bættu við viðföngunum
Bættu Google Maps SDK-inu sjálfu við ásamt einingum MapConductor, og beittu Secrets-viðbótinni. BOM-ið festir útgáfu hverrar MapConductor-einingar í einu lagi.
plugins {
// ... other plugins
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
}
dependencies {
// Google Maps SDK
implementation("com.google.android.gms:play-services-maps:20.0.0")
// MapConductor BOM pins every module below
implementation(platform("com.mapconductor:mapconductor-bom:1.3.1"))
implementation("com.mapconductor:core")
implementation("com.mapconductor:for-googlemaps")
// Optional: compose / icons / heatmap / marker-clustering / geojson / kml
}Tengdu lýsinguna og lykilinn
Lýsingin geymir aldrei annað en staðgengil; raunverulega gildið býr í secrets.properties og er sett inn við smíði.
<manifest>
<!-- Add location permissions -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application>
<!-- Google Maps API Key -->
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="${GOOGLE_MAPS_API_KEY}" />
</application>
</manifest>GOOGLE_MAPS_API_KEY=your_actual_api_key
Stilltu ProGuard / R8 (ef við á)
Ef þú minnkar og ruglar kóðann skaltu halda klösum Play Services Maps.
# Google Play Services
-keep class com.google.android.gms.maps.** { *; }
-keep interface com.google.android.gms.maps.** { *; }
-dontwarn com.google.android.gms.**STAÐFESTA
Það sem þú ættir að sjá
Smíðaðu og keyrðu þennan skjá. Ef kortið teiknast og þú getur dregið að og hliðrað er uppsetningin frágengin.
@Composable
fun TestGoogleMaps(modifier: Modifier = Modifier) {
val mapState = rememberGoogleMapViewState(
cameraPosition = MapCameraPosition(
position = GeoPoint(35.6762, 139.6503),
zoom = 12.0,
),
)
// If the map appears, the setup is correct.
GoogleMapView(modifier = modifier, state = mapState)
}Kortahönnun
GoogleMapDesign speglar kortategundaauðkenni Google sjálfs.
Bilanaleit
Kortið birtist ekki (grár skjár)
- Athugaðu API-lykilinn í secrets.properties.
- Staðfestu að Maps SDK for Android sé virkjað í Google Cloud Console.
- Gakktu úr skugga um að takmarkanir lykilsins passi við raunverulegt pakkaheiti og SHA-1.
API-lykilvilla birtist í keyrsluskránni
- Athugaðu gildi lykilsins aftur og hvort hann sé útrunninn.
- Farðu yfir takmarkanir lykilsins í Console.
Smíðin bregst
- Athugaðu hvort hnit og útgáfa korta-SDK-sins passi við það sem útgáfuskráin lýsir.
- Gakktu úr skugga um að safnið sé skilgreint í settings.gradle.kts — með repositoriesMode stillt á FAIL_ON_PROJECT_REPOS eru repositories-blokkir í einstökum einingum hunsaðar.
- Ef fleiri en eitt korta-SDK er til staðar í einu, leitaðu að árekstrum viðfanga með ./gradlew :app:dependencies.
Næst
Þegar GoogleMapView teiknast eru merki, fjöllínur og hringir skrifuð gegn sameiginlega API-inu — sá kóði lifir af skipti um þjónustuaðila ósnertur.