Open Mobile Maps einrichten
Schritte zur Nutzung von Open Mobile Maps (io.openmobilemaps:mapscore) über MapConductor. Es ist kein API-Schlüssel erforderlich.
Bevor Sie beginnen
Abhängigkeiten hinzufügen
Open Mobile Maps ist in Maven Central verfügbar. Es müssen keine Quellen hinzugefügt werden.
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")
}Berechtigungen hinzufügen
Zum Abrufen von Kacheln ist ein Netzwerk erforderlich. Wenn Sie den Standort nicht verwenden, reicht INTERNET aus.
<uses-permission android:name="android.permission.INTERNET" />
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
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.