Doku / Einrichtung / Android / Open Mobile Maps

Open Mobile Maps einrichten

Schritte zur Nutzung von Open Mobile Maps (io.openmobilemaps:mapscore) über MapConductor. Es ist kein API-Schlüssel erforderlich.

MODULE
com.mapconductor:for-openmobilemaps
API KEY
Nicht erforderlich
VIEW
OpenMobileMapsMapView
TIME
10 Minuten
Derselbe Anbieter, andere PlattformeniOS

Bevor Sie beginnen

Android-Entwicklungsumgebung (Android Studio)
minSdk 28 oder höher
STEP 01

Abhängigkeiten hinzufügen

Open Mobile Maps ist in Maven Central verfügbar. Es müssen keine Quellen hinzugefügt werden.

app/build.gradle.ktsKotlin
dependencies {
    // Open Mobile Maps
    implementation("io.openmobilemaps:mapscore:4.0.0")

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

    implementation("com.mapconductor:core")
    implementation("com.mapconductor:compose")
    implementation("com.mapconductor:for-openmobilemaps")
}
STEP 02

Berechtigungen hinzufügen

Zum Abrufen von Kacheln ist ein Netzwerk erforderlich. Wenn Sie den Standort nicht verwenden, reicht INTERNET aus.

AndroidManifest.xmlXML
<uses-permission android:name="android.permission.INTERNET" />
STEP 03

Kachelquelle festlegen

Da kein Schlüssel vorhanden ist, müssen Sie selbst entscheiden, woher die Kacheln bezogen werden. Der offizielle Kachelserver von OpenStreetMap eignet sich aufgrund der Nutzungsrichtlinie nicht für die dauerhafte Nutzung in Apps. Verwenden Sie in der Produktion einen eigenen Kacheldienst oder eine kommerzielle Quelle.

PRÜFEN

Was Sie sehen sollten

Zeigt die Karte mit Tokio als Mittelpunkt an. Wenn die Kacheln geladen werden, sind Sie fertig.

@Composable
fun TestOpenMobileMaps(modifier: Modifier = Modifier) {
    val mapState = rememberOpenMobileMapsMapViewState(
        mapDesign = OpenMobileMapsDesign.OpenStreetMap,
        cameraPosition = MapCameraPosition(
            position = GeoPoint(latitude = 35.6812, longitude = 139.7671),
            zoom = 11.0,
        ),
    )

    OpenMobileMapsMapView(state = mapState, modifier = modifier.fillMaxSize())
}

Kartendesigns

Notes
OpenStreetMap
Standardstil von OpenStreetMap
OpenStreetMapJapan
An Japan angepasste Darstellung
OpenTopoMap
Topografische Karte

Fehlerbehebung

Die Karte ist komplett weiß und es wird keine einzige Kachel geladen

  • Dieser Anbieter verfügt über keinen API-Schlüssel. Zuerst wird überprüft, ob die angegebene Stil-URL erreichbar ist.
  • Überprüfen Sie, ob das Gerät Netzwerkzugang hat.

Die Kachelquelle gibt 429 oder 403 zurück

  • Für den offiziellen Kachelserver von OpenStreetMap gilt eine Nutzungsrichtlinie, die die dauerhafte Nutzung aus Apps nicht vorsieht. Verwenden Sie in der Produktion einen eigenen Kacheldienst oder eine kommerzielle Quelle.

Weiter

Marker, Polylinien, Polygone, Kreise, Grundbilder, Rasterlayer und InfoBubble können weiterhin über die gemeinsame API verwendet werden. Der App-Code ändert sich nicht, wenn der Anbieter ausgetauscht wird.