Skjölun / Uppsetning / Android / Mapbox

Uppsetning á Mapbox

Hvernig stýra má Mapbox Maps SDK for Android gegnum MapConductor. Mapbox kemur úr sínu eigin Maven-safni, og aðgangsteiknið berst inn gegnum lýsinguna.

MODULE
com.mapconductor:for-mapbox
API KEY
Aðgangsteikn
VIEW
MapboxMapView
TIME
15 mín
Sami þjónustuaðili, aðrir vettvangariOSReact

Áður en þú byrjar

Android-þróunarumhverfi (Android Studio)
Mapbox-aðgangur
Opinbert aðgangsteikn (byrjar á pk.)
STEP 01

Fáðu aðgangsteikn

  1. Stofnaðu Mapbox-aðgang.
  2. Opnaðu Access tokens í Account Dashboard.
  3. Notaðu sjálfgefna opinbera teiknið, eða búðu til nýtt.
VARÚÐ
Sendu aldrei leyniteikn (þau sem byrja á sk.) með forriti. Forrit nota opinbera teiknið.
STEP 02

Bættu við Maven-safni Mapbox

Mapbox Maps SDK er ekki á Maven Central; það kemur úr safni Mapbox sjálfs.

settings.gradle.ktsKotlin
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()

        // Mapbox Maven repository
        maven {
            url = uri("https://api.mapbox.com/downloads/v2/releases/maven")
        }
    }
}
STEP 03

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 04

Bættu við viðföngunum

MapConductor er smíðað gegn NDK27-afbrigðinu.

app/build.gradle.ktsKotlin
plugins {
    // ... other plugins
    id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
}

dependencies {
    // Mapbox Maps SDK (NDK27 variant)
    implementation("com.mapbox.maps:android-ndk27:11.28.0")

    // MapConductor BOM pins every module below
    implementation(platform("com.mapconductor:mapconductor-bom:1.3.1"))

    implementation("com.mapconductor:core")
    implementation("com.mapconductor:for-mapbox")
}
STEP 05

Tengdu lýsinguna og teiknið

AndroidManifest.xmlXML
<manifest>
    <!-- Add internet and location permissions -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <application>
        <!-- Mapbox Access Token -->
        <meta-data
            android:name="MAPBOX_ACCESS_TOKEN"
            android:value="${MAPBOX_ACCESS_TOKEN}" />
    </application>
</manifest>
secrets.propertiesProperties
MAPBOX_ACCESS_TOKEN=your_actual_access_token
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.

STAÐFESTA

Það sem þú ættir að sjá

Þú ert búin/n þegar kortið teiknast í Mapbox-stíl og aðdráttur, hliðrun og snúningur virka.

TestMapbox.ktJetpack Compose
@Composable
fun TestMapbox(modifier: Modifier = Modifier) {
    val mapState = rememberMapboxMapViewState(
        cameraPosition = MapCameraPosition(
            position = GeoPoint(35.6762, 139.6503),
            zoom = 12.0,
        ),
    )

    // If the map appears, the setup is correct.
    MapboxMapView(modifier = modifier, state = mapState)
}

Bilanaleit

Kortið helst autt

  • Athugaðu að teiknið í secrets.properties sé rétt og hafi ekki verið afturkallað.
  • Staðfestu að þetta sé opinbert teikn — það á að byrja á pk.
  • Gakktu úr skugga um að svið teiknisins innihaldi maps:read.

Viðfangið verður ekki leyst

  • Athugaðu að Maven-safn Mapbox sé skilgreint í settings.gradle.kts.
  • Gakktu úr skugga um að þú biðjir um NDK27-afbrigðið (com.mapbox.maps:android-ndk27).

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

Með MapboxMapView á skjánum eru yfirlög skrifuð nákvæmlega eins og hjá hverjum öðrum þjónustuaðila — og þú getur bent því á stíla sem Mapbox hýsir ekki.