MapTiler einrichten
Hier finden Sie die Schritte zur Verwendung des offiziellen MapTiler Android SDK (com.maptiler:maptiler-sdk-kotlin) von MapConductor. Sie können Referenzstile von MapTiler Cloud anhand des Namens auswählen.
Bevor Sie beginnen
API-Schlüssel abrufen
Erstellen Sie im Dashboard von MapTiler Cloud einen API-Schlüssel. Es ist ein kostenloses Kontingent verfügbar.
Abhängigkeiten hinzufügen
Das MapTiler SDK kann von Maven Central bezogen werden.
dependencies {
// MapTiler Android SDK
implementation("com.maptiler:maptiler-sdk-kotlin:2.1.0")
// MapConductor BOM pins every module below
implementation(platform("com.mapconductor:mapconductor-bom:1.3.1"))
implementation("com.mapconductor:core")
implementation("com.mapconductor:for-maptiler")
}API-Schlüssel übergeben
Das Modul liest den Schlüssel aus den meta-data des Manifests. Bei Verwendung des Secrets Gradle Plugin geschieht dies über einen Platzhalter. Es kann auch direkt aus dem Code konfiguriert werden.
<manifest>
<uses-permission android:name="android.permission.INTERNET" />
<application>
<meta-data
android:name="MAPTILER_API_KEY"
android:value="${MAPTILER_API_KEY}" />
</application>
</manifest>// Alternative: set it in code before the first map is shown com.maptiler.maptilersdk.MTConfig.apiKey = "YOUR_MAPTILER_API_KEY"
PRÜFEN
Was Sie sehen sollten
Wählen Sie einen Stil aus und zeigen Sie die Karte an. Wenn die Kacheln geladen sind, sind Sie fertig.
@Composable
fun TestMapTiler(modifier: Modifier = Modifier) {
val mapState = rememberMapTilerMapViewState(
mapDesign = MapTilerDesign.Streets,
cameraPosition = MapCameraPosition(
position = GeoPoint(35.6812, 139.7671),
zoom = 11.0,
),
)
// If the map appears, the setup is correct.
MapTilerMapView(state = mapState, modifier = modifier)
}Kartendesigns
MapTilerDesign listet die Referenzstile von MapTiler Cloud unverändert auf.
Fehlerbehebung
Karte bleibt komplett weiß
- Überprüfen Sie, ob im Manifest bei MAPTILER_API_KEY der tatsächliche Wert eingetragen ist.
- Überprüfen Sie auf der Seite von MapTiler Cloud, ob der Schlüssel gültig ist und das kostenlose Kontingent nicht überschritten wurde.
- Überprüfen Sie, ob die INTERNET-Berechtigung erteilt wurde.
Build schlägt fehl
- Überprüfen Sie, ob Koordinaten und Version des Map-Sdk mit den Angaben im Versionenkatalog übereinstimmen.
- Überprüfen Sie, ob die Repository-Definition in settings.gradle.kts vorhanden ist (bei repositoriesMode FAIL_ON_PROJECT_REPOS werden die repositories des Moduls ignoriert).
- Wenn mehrere Map-SDKs gleichzeitig vorhanden sind, überprüfen Sie mit ./gradlew :app:dependencies auf Abhängigkeitskonflikte.
Weiter
Marker, Polyline, Polygon, Circle, GroundImage, RasterLayer, InfoBubble können alle über die gemeinsame API verwendet werden. Da das Android SDK von MapTiler MapLibre GL JS in einem WebView ausführt, werden Formen dem Stil als GeoJSON-Quellen und fill-/line-Layer hinzugefügt. Da für die geodätische Interpolation und die Behandlung von Löchern die gemeinsame Kernimplementierung verwendet wird, haben sie dieselbe Form wie bei anderen Anbietern.