Doku / Einrichtung / iOS / Mappls

Mappls einrichten

Anleitung zur Verwendung des offiziellen iOS SDK von Mappls (MapmyIndia) mit MapConductor. Installieren Sie es mit dem Swift Package Manager und authentifizieren Sie sich über eine Konfigurationsdatei in der App.

MODULE
MapConductorForMappls
API KEY
Erforderlich
VIEW
MapplsMapView
TIME
15 Minuten
Derselbe Anbieter, andere PlattformenAndroidReact

Bevor Sie beginnen

Xcode 15 oder höher
App, die auf iOS 16.0 oder höher abzielt
Mappls (MapmyIndia)-Konto und -Anmeldedaten
STEP 01

Anmeldedaten abrufen

Registrieren Sie die App in der Mappls-Entwicklerkonsole und rufen Sie die Anmeldedaten ab. Unter iOS wird die Authentifizierung über Konfigurationsdateien mit den Namen .i.conf / .i.olf durchgeführt. Es wird keine Methode verwendet, bei der ein einzelner API-Schlüssel übergeben wird.

STEP 02

Paket hinzufügen

Fügen Sie das Mappls-Verteilungsrepository und das MapConductor-Modul mit Swift Package Manager hinzu.

Package.swiftSwift
dependencies: [
    .package(url: "https://github.com/mappls-api/mappls-map-ios-distribution.git", from: "6.1.5"),
    .package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.3.1"),
    .package(url: "https://github.com/MapConductor/ios-for-mappls", from: "1.0.0"),
]
STEP 03

Authentifizierungsdatei platzieren

Fügen Sie die von Mappls empfangenen Dateien .i.conf / .i.olf in das Bundle der App ein. MapConductor lädt diese Datei, bevor die Karte generiert wird. Fügen Sie die Dateien nicht der Quellcodeverwaltung hinzu.

PRÜFEN

Was Sie sehen sollten

Zeigen Sie eine Karte mit Delhi als Mittelpunkt an. Wenn die Kacheln geladen sind, ist es abgeschlossen.

import SwiftUI
import MapConductorCore
import MapConductorForMappls

struct TestMappls: View {
    @StateObject private var state = MapplsViewState(
        mapDesignType: MapplsDesign.Default,
        cameraPosition: MapCameraPosition(
            position: GeoPoint(latitude: 28.6139, longitude: 77.2090),
            zoom: 11
        )
    )

    var body: some View {
        MapplsMapView(state: state)
    }
}

Kartendesigns

Notes
Default
Standardstil, unabhängig vom Vertrag verwendbar
StandardDay
Standard-Tagesstil
StandardNight / GreyDay
Kostenpflichtige Option mit zusätzlichen Kosten. Wenn kein Vertrag besteht, lehnt das SDK ab.

Fehlerbehebung

Die Karte ist komplett weiß und keine Kachel wird geladen

  • Überprüfen Sie, ob die Anmeldedaten vor der Kartengenerierung festgelegt sind.
  • Überprüfen Sie in der Mappls-Konsole, ob der Schlüssel gültig ist und ob das Nutzungslimit nicht überschritten wurde.
  • Überprüfen Sie, ob das Gerät eine Netzwerkverbindung herstellen kann.

Beim Ändern des Stils tritt „style not found“ auf

  • StandardNight und GreyDay sind kostenpflichtige Optionen mit zusätzlichen Kosten. Wenn Sie keinen Vertrag haben, verwenden Sie Default oder StandardDay.

Kacheln von URLs außerhalb von Mappls, wie z. B. Raster-Layern, werden nicht angezeigt

  • Die native HTTP-Schicht von Mappls verwirft oder kürzt Anfragen, die in der URL nicht mappls / mapmyindia enthalten. MapConductor umgeht dies bereits, aber wenn Sie das HTTP-Modul des SDK selbst austauschen, entfällt auch die Umgehung.

Weiter

Marker, Polylinien, Polygone, Kreise, Ground-Images, Raster-Layer und InfoBubble können weiterhin über die gemeinsame API verwendet werden.