Skjölun / Uppsetning / Android / Google Maps

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.

MODULE
com.mapconductor:for-googlemaps
API KEY
Nauðsynlegt
VIEW
GoogleMapView
TIME
15 mín
Sami þjónustuaðili, aðrir vettvangariOSReact

Áður en þú byrjar

Android-þróunarumhverfi (Android Studio)
Aðgangur að Google Cloud Console
Maps SDK for Android virkjað á Google Cloud-verkefninu þínu
STEP 01

Fáðu API-lykil

  1. Opnaðu Google Cloud Console.
  2. Búðu til verkefni eða veldu eitt sem er til.
  3. Virkjaðu Maps SDK for Android.
  4. Búðu til API-lykil undir Credentials.
  5. Takmarkaðu lykilinn við pakkaheiti forritsins og SHA-1 fingrafar vottorðsins.
Villuleitar- og útgáfusmíðar eru undirritaðar með ólíkum vottorðum, svo skráðu bæði SHA-1 fingraförin.
STEP 02

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.

(root)/build.gradle.ktsKotlin
plugins {
    id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") version "2.0.1" apply false
}
STEP 03

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.

app/build.gradle.ktsKotlin
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
}
STEP 04

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.

AndroidManifest.xmlXML
<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>
secrets.propertiesProperties
GOOGLE_MAPS_API_KEY=your_actual_api_key
ACCESS_*_LOCATION-heimildirnar þarf aðeins ef forritið notar staðsetningu. Til að sækja flísar dugar INTERNET eitt.
VARÚÐ
Aldrei skila secrets.properties inn í útgáfustýringu. Bættu henni við .gitignore svo hún geti ekki laumast með, og komdu gildinu til skila gegnum umhverfisbreytur (eða aðra örugga leið) í CI.
STEP 05

Stilltu ProGuard / R8 (ef við á)

Ef þú minnkar og ruglar kóðann skaltu halda klösum Play Services Maps.

proguard-rules.proProGuard
# 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.

TestGoogleMaps.ktJetpack Compose
@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.

GoogleMapDesign
Notes
Normal
Venjulega vegakortið (roadmap)
Satellite
Gervihnattamyndir
Hybrid
Gervihnattamyndir með vegum og merkingum
Terrain
Landslagskort
None
Engar grunnkortaflísar

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.