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.
Bevor Sie beginnen
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.
Paket hinzufügen
Fügen Sie das Mappls-Verteilungsrepository und das MapConductor-Modul mit Swift Package Manager hinzu.
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"),
]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
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.