Einrichtung und Demo

Plattform auswählen:Android iOS

Auf dieser Seite wird beschrieben, wie Sie die Dienstprogrammbibliothek für das Maps SDK for iOS einrichten.

Sie haben folgende Möglichkeiten, diese Dienstprogramme auszuprobieren:

Optional: CocoaPods installieren

Die Dienstprogrammbibliothek ist als CocoaPods-Pod mit dem Namen Google-Maps-iOS-Utils verfügbar. CocoaPods ist ein Open-Source-Abhängigkeitsmanager für Swift- und Objective-C-Cocoa-Projekte.

Wenn du das Tool CocoaPods noch nicht hast, installiere es unter macOS, indem du den folgenden Befehl über das Terminal ausführst:

sudo gem install cocoapods

Weitere Informationen findest du im Startleitfaden zu CocoaPods.

Demo-App installieren und ausführen

Die Dienstprogrammbibliothek enthält eine Demo-App, die Sie installieren und dann jedes Dienstprogramm ausprobieren können.

Installieren Sie die Demo-App mit einer der folgenden Methoden:

Dateien von GitHub verwenden

  1. Laden Sie das Codebeispielarchiv von GitHub herunter und entpacken Sie das Archiv.
  2. Öffnen Sie ein Terminalfenster, gehen Sie zu dem Verzeichnis, in dem Sie die Beispieldateien erweitert haben, und schlüsseln Sie das entsprechende Beispielverzeichnis für die Sprache auf, die Sie verwenden möchten:
    • Führen Sie für Swift cd google-maps-ios-utils-master/samples/SwiftDemoApp aus.
    • Führen Sie für Objective-C den Befehl cd google-maps-ios-utils-master/samples/ObjCDemoApp aus.
  3. Führen Sie den folgenden Befehl aus:
    pod install
  4. Schließen Sie Xcode und klicken Sie mit einem Doppelklick auf die Datei .xcworkspace Ihres Projekts, um Xcode zu starten. Ab diesem Zeitpunkt müssen Sie die Datei .xcworkspace verwenden, um das Projekt zu öffnen.

CocoaPods v1.6.1 verwenden

  1. Öffnen Sie ein Terminalfenster und installieren Sie Version 1.6.1:
    sudo gem install cocoapods -v1.6.1
  2. Rufe die Google Maps-Dateien mit CocoaPods ab:
    pod try Google-Maps-iOS-Utils

    Wählen Sie bei entsprechender Aufforderung entweder „Swift“ oder „Objective-C“ aus. CocoaPods aktualisiert die Spezifikations-Repositories und öffnet die Demo in einem temporären Xcode-Projekt mit dem Namen SwiftDemoApp.xcodeproj oder ObjCDemoApp.xcodeproj.

API-Schlüssel zur Demo-App hinzufügen

Unter API-Schlüssel abrufen generieren Sie einen API-Schlüssel für Ihre App. Fügen Sie diesen Schlüssel dann dem Xcode-Projekt für die Demo-App hinzu.

Swift

Füge deinen API-Schlüssel folgendermaßen in AppDelegate.swift ein:

  1. Fügen Sie die folgende Importanweisung hinzu:
    import GoogleMaps
  2. Bearbeiten Sie die folgende Zeile, um Ihren API-Schlüssel zwischen doppelte Anführungszeichen einzufügen:
    // Change this key to a valid key registered with the demo app bundle id.
    let mapsAPIKey = ""

Objective-C

Füge deinen API-Schlüssel folgendermaßen in AppDelegate.m ein:

  1. Fügen Sie die folgende Importanweisung hinzu:
    @import GoogleMaps;
  2. Bearbeiten Sie die folgende Zeile, um Ihren API-Schlüssel zwischen doppelte Anführungszeichen einzufügen:
    // Change this key to a valid key registered with the demo app bundle id.
    static NSString *const kMapsAPIKey = @"";

Demo-App erstellen und ausführen

Nachdem Sie den API-Schlüssel hinzugefügt haben, erstellen Sie das Projekt und führen Sie es aus:

  • Wenn Sie die Swift-Version der Demo ausführen, können Sie auswählen, welches Dienstprogramm in der App angezeigt werden soll.
  • Wenn Sie die Objective-C-Version der Demo ausführen, sehen Sie die Demo des Markierungs-Clustering-Dienstprogramms. Anschließend können Sie die Objective-C-Version der Demo bearbeiten und jedes Dienstprogramm ausprobieren. Weitere Informationen finden Sie unten im Abschnitt Dienstprogramm zur App hinzufügen.

Hilfsprogrammbibliothek als Xcode-Projekt installieren

Gehen Sie wie folgt vor, um die Hilfsprogrammbibliothek Ihrem Xcode-Arbeitsbereich hinzuzufügen:

Mit CocoaPods

  1. Wenn Sie noch kein Xcode-Projekt haben, erstellen Sie eines und speichern Sie es auf Ihrem lokalen Computer. Wenn Sie mit der iOS-Entwicklung noch nicht vertraut sind, erstellen Sie eine Single View Application (App mit Einzelansicht).
  2. Wenn Sie noch keine Pod-Datei für Ihr Projekt haben, erstellen Sie in Ihrem Projektverzeichnis eine Datei mit dem Namen Podfile. In dieser Datei werden die Abhängigkeiten Ihres Projekts definiert.
  3. Bearbeiten Sie die Pod-Datei Ihres Projekts und fügen Sie eine Abhängigkeit zum Pod Google-Maps-iOS-Utils hinzu. Das folgende Beispiel enthält die Abhängigkeiten, die Sie für das Maps SDK for iOS und die Dienstprogrammbibliothek benötigen:
    source 'https://github.com/CocoaPods/Specs.git'
    platform :ios, '13.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      use_frameworks!
      pod 'GoogleMaps', '7.4.0'
      pod 'Google-Maps-iOS-Utils', '4.2.2'
    end
  4. Führen Sie pod install aus.
  5. Schließen Sie Xcode und klicken Sie mit einem Doppelklick auf die Datei .xcworkspace Ihres Projekts, um Xcode zu starten. Ab diesem Zeitpunkt müssen Sie die Datei .xcworkspace verwenden, um das Projekt zu öffnen.

Hinweis:Das Markierungs-Clustering-Dienstprogramm ist vom Quadtree abhängig. Sie können den Quadtree ohne Markierungscluster verwenden. Wenn Sie nur das Quadtree-Dienstprogramm verwenden möchten, können Sie in Ihrer Pod-Datei pod 'Google-Maps-iOS-Utils' zu 'Google-Maps-iOS-Utils/QuadTree' ändern.

Karthago verwenden

  1. Installiere Carthage. Es gibt verschiedene Methoden. Die genauen Schritte finden Sie in der Readme-Datei von Karthago.
  2. Falls du noch kein Xcode-Projekt hast, erstelle eines und speichere es auf dem lokalen Rechner. (Falls du noch keine Erfahrung in der iOS-Entwicklung hast, erstelle ein neues Projekt und wähle die Vorlage für iOS-Apps aus. In Xcode 11.7 oder einer früheren Version musst du eine Single View Application (App mit Einzelansicht) einrichten.
  3. Erstelle in deinem Projektverzeichnis eine Datei mit dem Namen Cartfile. In dieser Datei sind die Abhängigkeiten Ihres Projekts definiert.
  4. Bearbeiten Sie die Cartfile und fügen Sie die Abhängigkeit der Dienstprogrammbibliothek des Maps SDK for iOS hinzu:
    github "googlemaps/google-maps-ios-utils"
  5. Speichere die Cartfile.
  6. Wechseln Sie in einem Terminalfenster zum Verzeichnis mit der Cartfile:
    cd <path-to-project>
  7. Führen Sie den Befehl „update“ aus:
    carthage update --platform iOS

    Dadurch werden die in der Datei Cartfile angegebenen APIs und ggf. zugehörige Abhängigkeiten installiert.
  8. Gehen Sie im Finder in Ihrem Projektverzeichnis unter Carthage/Build/iOS zu den heruntergeladenen Framework-Dateien.
  9. Fügen Sie Ihrem Projekt die Maps SDK for iOS-Frameworks hinzu, indem Sie die folgenden Bundles in Ihr Projekt ziehen. Wenn Sie dazu aufgefordert werden, wählen Sie Copy items if needed, use the same version as above (Elemente bei Bedarf kopieren und dieselbe Version wie oben verwenden) aus.
    • GoogleMaps-x.x.x/Base/Frameworks/GoogleMapsBase.framework
    • GoogleMaps-x.x.x/Maps/Frameworks/GoogleMaps.framework
    • GoogleMaps-x.x.x/Maps/Frameworks/GoogleMapsCore.framework
    • GoogleMaps-x.x.x/Maps/Frameworks/GoogleMapsUtils.framework
  10. Klicke in deinem Projekt mit der rechten Maustaste auf GoogleMaps.framework und wähle Show In Finder (In Finder zeigen) aus.
  11. Ziehen Sie Carthage/Build/iOS/GoogleMaps.framework/Resources/GoogleMaps.bundle aus dem Ordner Resources in Ihr Projekt. Prüfe, wenn du dazu aufgefordert wirst, ob Copy items into destination group's folder (Elemente in Ordner der Zielgruppe kopieren) ausgewählt ist. Das sollte nicht der Fall sein.
  12. Wähle im Project Navigator dein Projekt aus und gib dann das Ziel deiner App an.
  13. Öffnen Sie den Tab Build Phase (Build-Phasen) für das Ziel Ihrer Anwendung und fügen Sie unter Link Binary with Libraries (Binärdatei mit Bibliotheken verknüpfen) die folgenden Frameworks hinzu:
    • Accelerate.framework
    • CoreData.framework
    • CoreGraphics.framework
    • CoreImage.framework
    • CoreLocation.framework
    • CoreTelephony.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libc++.tbd
    • libz.tbd
    • OpenGLES.framework
    • QuartzCore.framework
    • SystemConfiguration.framework
    • UIKit.framework
  14. Wähle statt eines bestimmten Ziels dein Projekt aus und öffne den Tab Build Settings (Build-Einstellungen). Gib im Bereich Other Linker Flags (Weitere Verknüpfungsmerker) den Code -ObjC ein. Falls die Einstellungen nicht angezeigt werden, filtere in der Leiste Build Settings nicht mehr nach Basic (Standard), sondern nach All (Alle).

Swift Package Manager verwenden

  1. Wenn Sie noch kein Xcode-Projekt haben, erstellen Sie eines und speichern Sie es auf Ihrem lokalen Computer. Wenn Sie mit der iOS-Entwicklung noch nicht vertraut sind, erstellen Sie ein neues Projekt und wählen Sie die Vorlage für iOS-Apps aus. Erstellen Sie unter Xcode 11.7 oder älter eine Single View Application (App mit Einzelansicht).
  2. Füge das Maps SDK for iOS als Abhängigkeit hinzu. Optionen finden Sie unter SDK installieren.
  3. Gehen Sie in Ihrem Xcode-Projekt zu File -> Swift Packages -> Add Package Dependency.
  4. Geben Sie im angezeigten Fenster die Repository-URL der Maps SDK for iOS-Dienstprogrammbibliothek https://github.com/googlemaps/google-maps-ios-utils ein und wählen Sie Weiter aus.
    • An dieser Stelle werden Sie möglicherweise aufgefordert, sich mit Ihrem GitHub-Konto zu authentifizieren. Folgen Sie der Anleitung, um ein persönliches GitHub-Zugriffstoken zu erstellen und mit dem Vorgang fortzufahren.
  5. Wählen Sie im nächsten Fenster das Optionsfeld Version aus, wählen Sie in der Drop-down-Liste Genau passend aus, geben Sie die neueste Version der Maps SDK for iOS-Dienstprogrammbibliothek ein (z.B. „3.4.0“) und wählen Sie Weiter aus.

API-Schlüssel in die App einfügen

Unter Xcode-Projekt einrichten erfahren Sie, wie Sie einen API-Schlüssel generieren und Ihrem Xcode-Projekt hinzufügen.

Projekt erstellen und ausführen

Nachdem Sie den API-Schlüssel hinzugefügt haben, erstellen Sie das Projekt und führen Sie es aus.

Dienstprogramm zur App hinzufügen

Weitere Informationen zur Verwendung in Ihrer App finden Sie in der Dokumentation zu den einzelnen Dienstprogrammen: