Skjölun / Uppsetning / Android / MapLibre

Uppsetning á MapLibre

Hvernig stýra má MapLibre Native Android gegnum MapConductor. MapLibre sjálft hefur engan API-lykil — útlit kortsins kemur frá því hvaðan stíl-JSON er borið fram. Þetta er stysta uppsetningin af þeim öllum.

MODULE
com.mapconductor:for-maplibre
API KEY
Enginn
VIEW
MapLibreMapView
TIME
5 mín
Sami þjónustuaðili, aðrir vettvangariOSReact

Áður en þú byrjar

Android-þróunarumhverfi (Android Studio)
Vefslóð á stíl-JSON — kynningarflísar, viðskiptaleg þjónusta, eða þinn eigin hýsill
STEP 01

Ákveddu hvaðan flísarnar koma

MapLibre teiknar flísar, það ber þær ekki fram. Kynningarstílarnir á MapLibreDesign duga til að sannreyna uppsetninguna, en raunnotkun krefst meðvitaðs vals á uppsprettu.

  1. Ókeypis / samfélag: flísar byggðar á OpenStreetMap, Protomaps (má hýsa sjálf/ur)
  2. Viðskiptalegt: MapTiler Cloud, Stadia Maps (bæði með ókeypis þrepi)
  3. Sjálfhýst: keyrðu þitt eigið með einhverju á borð við tileserver-gl
VARÚÐ
Kynningarflísar eru aðeins til prófunar — beindu aldrei raunumferð á þær. Flestar flísauppsprettur krefjast líka heimildatilvísunar (t.d. „© OpenStreetMap contributors“); lestu skilmálana og birtu hana í viðmótinu.
STEP 02

Bættu við viðföngunum

MapLibre-SDK-ið kemur frá Maven Central, svo engra aukastillinga á söfnum er þörf.

settings.gradle.ktsKotlin
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}
app/build.gradle.ktsKotlin
dependencies {
    // MapLibre Native Android SDK
    implementation("org.maplibre.gl:android-sdk:13.4.1")

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

    implementation("com.mapconductor:core")
    implementation("com.mapconductor:for-maplibre")
}
STEP 03

Bættu heimildum við lýsinguna

Enginn lykill er til að skjóta inn, svo heimildir eru það eina sem þarf.

AndroidManifest.xmlXML
<manifest>
    <!-- Add internet permission for tile loading -->
    <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>
        <!-- no key to inject for MapLibre -->
    </application>
</manifest>
ACCESS_*_LOCATION-heimildirnar þarf aðeins ef forritið notar staðsetningu. Til að sækja flísar dugar INTERNET eitt.

STAÐFESTA

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

Teiknaðu kortið með stíl. Ef flísar hlaðast og aðdráttur, hliðrun og snúningur virka ertu búin/n.

TestMapLibre.ktJetpack Compose
@Composable
fun TestMapLibre(modifier: Modifier = Modifier) {
    val mapState = rememberMapLibreMapViewState(
        cameraPosition = MapCameraPosition(
            position = GeoPoint(35.6762, 139.6503),
            zoom = 12.0,
        ),
        mapDesign = MapLibreDesign.OpenMapTiles,
    )

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

Kortahönnun

Hvert MapLibreDesign vefur vefslóð á stíl-JSON. Beindu því á þinn eigin stíl með því að smíða sömu gerð.

MapLibreDesign
Notes
DemoTiles
Kynningarflísar MapLibre sjálfs — enginn lykill, stysta leiðin að virku korti
OsmBright / OsmBrightEn / OsmBrightJa
OSM Bright, með sjálfgefnum, enskum og japönskum merkingum
MapTilerTonerEn / MapTilerTonerJa
Toner-stíllinn með mikilli birtuskilum
MapTilerBasicEn / MapTilerBasicJa
Einfaldaði Basic-stíllinn
OpenMapTiles
Almenni OpenMapTiles-stíllinn

Bilanaleit

Kortið helst autt

  • Athugaðu að stílslóðin sé aðgengileg og JSON-ið gilt.
  • Staðfestu að INTERNET-heimildin sé til staðar.
  • Leitaðu að net- eða þáttunarvillum í Logcat.

Það eru sérstaklega flísarnar sem hlaðast ekki

  • Tvítékkaðu vefslóð flísaþjónsins.
  • Athugaðu hvort þú sért að rekast á takmörk ókeypis þreps.
  • Hjá viðskiptalegum þjónustuaðila, staðfestu að lykillinn í stílslóðinni sé enn gildur.

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

Vigurflísar eru minni og teiknast hraðar en raster. Ef þú þarft ónettengda notkun skaltu gera ráð fyrir flísaskyndiminni.