Longdo einrichten
Verfahren zur Verwendung des Longdo Map API3 SDK von MapConductor. Ein Anbieter mit Spezialisierung auf Karten von Thailand, abgerufen aus dem eigenen Maven-Repository von Longdo.
Bevor Sie beginnen
API-Schlüssel abrufen
Erstellen Sie einen Schlüssel in der Longdo Map-Konsole. Das SDK sendet den Paketnamen der App zur Überprüfung, daher muss der Schlüssel mit diesem Paketnamen verknüpft registriert werden.
Longdo-Repository hinzufügen
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
// Longdo Map API3 SDK repository
maven {
url = uri("https://maven.longdo.com/artifactory/libs-release-public")
}
}
}Abhängigkeiten hinzufügen
dependencies {
// Longdo Map API3 SDK
implementation("com.longdo.map:sdk3:1.3.0")
// MapConductor BOM pins every module below
implementation(platform("com.mapconductor:mapconductor-bom:1.3.1"))
implementation("com.mapconductor:core")
implementation("com.mapconductor:for-longdo")
}API-Schlüssel übergeben
Das Modul liest longdo.map.key aus dem Manifest. Es kann auch über Code konfiguriert werden.
<manifest>
<uses-permission android:name="android.permission.INTERNET" />
<application>
<meta-data
android:name="longdo.map.key"
android:value="${LONGDO_API_KEY}" />
</application>
</manifest>// Alternative: set it in code before the first map is shown com.longdo.sdk3.LongdoMap.API_KEY = "YOUR_LONGDO_API_KEY"
PRÜFEN
Was Sie sehen sollten
Fertig, wenn die Karte zentriert auf Bangkok angezeigt wird.
@Composable
fun TestLongdo(modifier: Modifier = Modifier) {
val mapState = rememberLongdoMapViewState(
mapDesign = LongdoDesign.Normal,
cameraPosition = MapCameraPosition(
position = GeoPoint(13.7563, 100.5018),
zoom = 12.0,
),
)
LongdoMapView(
state = mapState,
modifier = modifier,
onMapLoaded = { /* map ready */ },
onMapClick = { point -> /* tapped at point */ },
)
}Kartendesigns
LongdoDesign unterstützt die Basislayer von Longdo.
Fehlerbehebung
Karte wird nicht angezeigt
- Überprüfen Sie in der Konsole, ob der Schlüssel mit dem Paketnamen der App verknüpft ist. Das SDK sendet den Paketnamen zur Überprüfung.
- Überprüfen Sie, ob die INTERNET-Berechtigung erteilt ist.
Build schlägt fehl
- Überprüfen Sie, ob Koordinaten und Version des Map-SDKs mit den Angaben im Versionskatalog übereinstimmen.
- Überprüfen Sie, ob die Repository-Definition in settings.gradle.kts vorhanden ist (bei repositoriesMode FAIL_ON_PROJECT_REPOS werden repositories auf Modulebene ignoriert).
- Wenn mehrere Map-SDKs gleichzeitig installiert sind, prüfen Sie mit ./gradlew :app:dependencies auf Konflikte bei den Abhängigkeiten.
Weiter
Marker, Polylinien, Polygone, Kreise, Ground Images, Raster-Layer und InfoBubble sind alle über die gemeinsame API verwendbar. Da das Android SDK von Longdo so konfiguriert ist, dass es die Longdo Map JS API3 in einem WebView ausführt, werden Figuren intern zu MapLibre GL als GeoJSON-Quelle und fill/line-Layer hinzugefügt. Hit-Tests werden durch die geodätische Erkennung auf der Core-Seite übernommen.