Es kann losgehen!

Bevor Sie mit der Entwicklung beginnen, lesen Sie bitte unsere Entwicklerdokumentation.

Das Google Maps SDK for iOS aktivieren

Zum Einstieg führen wir Sie durch die Google Developers Console, wo Sie vorab Folgendes tun müssen:

  1. Ein Projekt erstellen oder auswählen
  2. Das Google Maps SDK for iOS aktivieren
  3. Zugehörige Schlüssel erstellen
Weiter

Erste Schritte

Bevor Sie mit der Arbeit mit Google Maps in iOS beginnen, müssen Sie das Google Maps SDK for iOS herunterladen und einen API-Schlüssel anfordern.

Die vollständigen Versionshinweise sind für jede Version verfügbar.

Wenn Sie das Google Maps SDK for iOS mit einer Google Maps APIs Premium Plan-Lizenz verwenden, nutzen Sie stattdessen die Informationen im Premium Plan – Leitfaden Erste Schritte.

Schritt 1: Neueste Version von Xcode herunterladen

Zur Erstellung eines Projekts mit dem Google Maps SDK for iOS benötigen Sie Xcode Version 7.3 oder höher.

Schritt 2: SDK installieren



Mit CocoaPods

Das Google Maps SDK for iOS ist als CocoaPods-Pod erhältlich. CocoaPods ist ein Open-Source-Abhängigkeitsmanager für Cocoa-Projekte in Swift und Objective-C.

Falls Sie das Tool CocoaPods noch nicht haben, installieren Sie es unter macOS, indem Sie den folgenden Befehl über das Terminal ausführen. Weitere Informationen finden Sie im Leitfaden zu den ersten Schritten mit CocoaPods.

sudo gem install cocoapods

Erstellen Sie eine Podfile für Google Maps SDK for iOS, und verwenden Sie sie, um die API und ihre Abhängigkeiten zu installieren:

  1. Falls Sie kein Xcode-Projekt haben, erstellen Sie eines, und speichern Sie es auf dem lokalen Rechner. (Falls Sie noch keine Erfahrung in der iOS-Entwicklung haben, erstellen Sie eine Single View Application.)
  2. Erstellen Sie in Ihrem Projektverzeichnis eine Datei mit dem Namen Podfile. In dieser Datei sind die Abhängigkeiten Ihres Projekts definiert.
  3. Bearbeiten Sie die Podfile, und fügen Sie Ihre Abhängigkeiten hinzu. Hier ist ein Beispiel mit den Abhängigkeiten, die Sie für das Google Maps SDK for iOS und die Places API for iOS (optional) benötigen:
    source 'https://github.com/CocoaPods/Specs.git'
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps'
      pod 'GooglePlaces'
    end

    Kunden mit einem Premium Plan müssen außerdem hinzufügen: pod 'GoogleMaps/M4B'.

  4. Speichern Sie die Podfile.
  5. Öffnen Sie ein Terminal, und navigieren Sie zum Verzeichnis, das die Podfile enthält:

    cd <path-to-project>
  6. Führen Sie den Befehl pod install aus. Auf diese Weise installieren Sie die APIs, die in der Podfile angegeben sind, zusammen mit eventuellen Abhängigkeiten.

    pod install
  7. Schließen Sie Xcode, und öffnen Sie (per Doppelklick) die Datei .xcworkspace des Projekts, um Xcode zu starten. Von jetzt an müssen Sie die Datei .xcworkspace zum Öffnen des Projekts verwenden.

Manuelle Installation

In diesem Leitfaden wird gezeigt, wie Sie das GoogleMaps-Framework Ihrem Projekt manuell hinzufügen und Ihre Buildeinstellungen in Xcode konfigurieren.

  1. Laden Sie die SDK-Quelldaten herunter: GoogleMaps-2.0.1.
  2. Entpacken Sie die Quelldateien.
  3. Starten Sie Xcode und öffnen Sie entweder ein vorhandenes Projekt oder erstellen Sie ein neues Projekt. Wenn iOS für Sie noch Neuland ist, erstellen Sie eine Single View Application. Deaktivieren Sie Use Storyboards und aktivieren Sie Use Automatic Reference Counting.
  4. Ziehen Sie die folgenden Bündel in Ihr Projekt (wählen Sie bei entsprechender Aufforderung Copy items if needed):
    • Subspecs/Base/Frameworks/GoogleMapsBase.framework
    • Subspecs/Maps/Frameworks/GoogleMaps.framework
    • Subspecs/Maps/Frameworks/GoogleMapsCore.framework

    Premium Plan-Kunden müssen außerdem Subspecs/M4B/Frameworks/GoogleMapsM4B.framework einschließen.

  5. Klicken Sie mit der rechten Maustaste in Ihrem Projekt auf GoogleMaps.framework und wählen Sie Show In Finder aus.
  6. Ziehen Sie das GoogleMaps.bundle aus dem Ordner Resources in Ihr Projekt. Stellen Sie auf die entsprechende Aufforderung hin sicher, dass Copy items into destination group's folder nicht ausgewählt ist.
  7. Wählen Sie im Projektnavigator Ihr Projekt aus und wählen Sie das Ziel Ihrer Anwendung.
  8. Öffnen Sie den Tab Build Phases und fügen Sie innerhalb von Link Binary with Libraries die folgenden Frameworks hinzu:
    • GoogleMapsBase.framework
    • GoogleMaps.framework
    • GoogleMapsCore.framework
    • GoogleMapsM4B.framework (nur für Premium Plan-Kunden)
    • Accelerate.framework
    • CoreData.framework
    • CoreGraphics.framework
    • CoreLocation.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libc++.tbd
    • libz.tbd
    • OpenGLES.framework
    • QuartzCore.framework
    • SystemConfiguration.framework
    • UIKit.framework
  9. Wählen Sie Ihr Projekt (und nicht ein spezielles Ziel) und öffnen Sie den Tab Build Settings. Fügen Sie im Abschnitt Other Linker Flags -ObjC hinzu. Wenn diese Einstellungen nicht sichtbar sind, ändern Sie den Filter in der Leiste Build Settings von Basic zu All.

  10. Informationen zur Installation von Places API for iOS finden Sie unter Erste Schritte mit der Places API for iOS.

Schritt 4: API-Schlüssel anfordern



Klicken Sie unten auf die Schaltfläche. Sie werden nun durch den Vorgang zur Aktivierung von Google Maps SDK for iOS und zur Anforderung eines API-Schlüssels geleitet. Wenn es für Ihr Projekt bereits einen API-Schlüssel mit iOS-Einschränkung gibt, können Sie diesen Schlüssel verwenden.

Schlüssel anfordern

Alternativ können Sie auch wie folgt einen API-Schlüssel anfordern:

  1. Navigieren Sie zu Google API Console.
  2. Ein Projekt erstellen oder auswählen
  3. Klicken Sie auf Continue, um Google Maps SDK for iOS zu aktivieren.
  4. Fordern Sie auf der Seite Credentials einen API-Schlüssel an.
    Hinweis: Wenn Sie einen Schlüssel mit iOS-Einschränkungen besitzen, können Sie diesen Schlüssel verwenden. Denselben Schlüssel können Sie für alle Ihre iOS-Anwendungen im selben Projekt verwenden.
  5. Wählen Sie im kleinen Fenster mit dem API-Schlüssel die Option Restrict key, um für den API-Schlüssel eine iOS-Einschränkung festzulegen.
  6. Wählen Sie im Abschnitt Restrictions die Option iOS apps und geben Sie dann die Bündelkennung Ihrer App ein. Beispiel: com.example.hellomap.
  7. Klicken Sie auf Save.

    Ihr neuer API-Schlüssel mit iOS-Einschränkung wird in der Liste der projektbezogenen API-Schlüssel angezeigt. Ein API-Schlüssel ist eine Zeichenfolge, die in etwa wie folgt aussieht:

    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

Sie können auch nach einem vorhandenen Schlüssel in Google API Console suchen.

Weitere Informationen zur Verwendung der Google API Console finden Sie in der Hilfe zur API Console.

Schritt 5: API-Schlüssel der Anwendung hinzufügen

Swift

Fügen Sie Ihren API-Schlüssel wie folgt zu Ihrem AppDelegate.swift hinzu:

  1. Fügen Sie die folgende Importanweisung hinzu:
    import GoogleMaps
  2. Fügen Sie Folgendes zu Ihrer application(_:didFinishLaunchingWithOptions:)- Methode hinzu, wobei Sie für YOUR_API_KEY Ihren API-Schlüssel einsetzen:
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. Wenn Sie auch die Places API verwenden, fügen Sie noch einmal Ihren Schlüssel wie folgt hinzu:
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

Objective-C

Fügen Sie Ihren API-Schlüssel wie folgt zu Ihrem AppDelegate.m hinzu:

  1. Fügen Sie die folgende Importanweisung hinzu:
    @import GoogleMaps;
  2. Fügen Sie Folgendes zu Ihrer application:didFinishLaunchingWithOptions:- Methode hinzu, wobei Sie für YOUR_API_KEY Ihren API-Schlüssel einsetzen:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. Wenn Sie auch die Places API verwenden, fügen Sie noch einmal Ihren Schlüssel wie folgt hinzu:
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

Schritt 6: Karte hinzufügen



Im nachfolgenden Codebeispiel wird gezeigt, wie eine einfache Karte zu einem vorhandenen ViewController hinzugefügt wird. Beim Erstellen einer neuen App befolgen Sie zunächst die vorstehende Installationsanleitung und erstellen Sie eine neue Single View Application. Deaktivieren Sie dabei Use Storyboards und aktivieren Sie Use Automatic Reference Counting (ARC).

Fügen Sie nun einige Methoden im Standard-ViewController der App hinzu oder aktualisieren Sie welche, um eine Instanz von GMSMapView zu erstellen und zu initialisieren.

Swift

import UIKit
import GoogleMaps

class YourViewController: UIViewController {

  // You don't need to modify the default init(nibName:bundle:) method.

  override func loadView() {
    // Create a GMSCameraPosition that tells the map to display the
    // coordinate -33.86,151.20 at zoom level 6.
    let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
    let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
    mapView.isMyLocationEnabled = true
    view = mapView

    // Creates a marker in the center of the map.
    let marker = GMSMarker()
    marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
    marker.title = "Sydney"
    marker.snippet = "Australia"
    marker.map = mapView
  }
}

Objective-C

#import "YourViewController.h"
#import <GoogleMaps/GoogleMaps.h>

@implementation YourViewController

// You don't need to modify the default initWithNibName:bundle: method.

- (void)loadView {
  // Create a GMSCameraPosition that tells the map to display the
  // coordinate -33.86,151.20 at zoom level 6.
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
                                                          longitude:151.20
                                                               zoom:6];
  GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  mapView.myLocationEnabled = YES;
  self.view = mapView;

  // Creates a marker in the center of the map.
  GMSMarker *marker = [[GMSMarker alloc] init];
  marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
  marker.title = @"Sydney";
  marker.snippet = @"Australia";
  marker.map = mapView;
}

@end

Führen Sie die Anwendung aus. Es sollte eine Karte mit einem einzelnen Marker, der auf Sydney zeigt, angezeigt werden. Wenn Sie den Marker sehen können, aber nicht die Karte, überprüfen Sie, ob Sie den API-Schlüssel angegeben haben.

Schritt 7: Von der API verwendete URL-Schemen angeben

In iOS 9 und Xcode 7 müssen die URL-Schemen deklariert werden, die von den Apps geöffnet werden sollen. Dazu werden die Schemen in der Datei Info.plist der App angegeben. Die mobile Google Maps App wird vom Google Maps SDK for iOS geöffnet, wenn der Nutzer auf das Google-Logo auf der Karte klickt. Daher muss Ihre App die jeweiligen URL-Schemen angeben.

Um die vom Google Maps SDK for iOS verwendeten URL-Schemen anzugeben, fügen Sie die folgenden Zeilen zu Ihrer Info.plist hinzu:

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>googlechromes</string>
    <string>comgooglemaps</string>
</array>

Im folgenden Screenshot wird die Konfiguration in der Benutzerschnittstelle von Xcode gezeigt:

LSApplicationQueriesSchemes configuration in Xcode

Ohne die oben genannten Angaben werden folgende Fehlermeldungen angezeigt, wenn der Benutzer auf das Google-Logo auf der Karte tippt.

-canOpenURL: failed for URL: "comgooglemaps://" - error: "This app is not allowed to query for scheme comgooglemaps"
-canOpenURL: failed for URL: "googlechromes://" - error: "This app is not allowed to query for scheme googlechromes"

Um solche Fehler zu vermeiden, fügen Sie die Deklaration wie oben beschrieben zu Ihrer Info.plist hinzu.

Das Demoprojekt des Google Maps SDK ausprobieren

Mithilfe von pod try GoogleMaps können Sie mit den SDK-Demos experimentieren. Weitere Informationen finden Sie im Leitfaden zu Beispielcodes.

Upgrade von früheren Versionen

Wenn Sie für ein bestehendes Projekt ein Upgrade auf die neueste Version des Google Maps SDK for iOS durchführen möchten, führen Sie die folgenden Anweisungen aus.

Hinweis: Die Version 1.9.2 des Google Maps SDK for iOS sowie frühere Versionen standen als Zip-Datei mit einem statischen Framework zur Verfügung. Außerdem bestand die Option, aktuelle Versionen von einem CocoaPods-Pod zu installieren. Ab Version 1.10.0 kann das Google Maps SDK for iOS nur noch über CocoaPods installiert werden.

Wenn Sie das Google Maps SDK for iOS aus einer ZIP-Datei mit einem statischen Framework installiert haben:

  1. Entfernen Sie alle Verweise auf das vorherige Framework aus Ihrem Xcode-Projekt.
  2. Folgen Sie der Anleitung im Hinweis weiter oben, um die Google Maps SDK for iOS mit CocoaPods zu installieren.
  3. Nehmen Sie die nach dem Upgrade erforderlichen Änderungen vor. In den Versionshinweisen finden Sie eine Liste der Änderungen in der jeweiligen Version.
  4. Bereinigen Sie das Projekt und erstellen Sie es neu. Wählen Sie dazu Product > Clean und anschließend Product > Build.

Wenn Sie das Google Maps SDK for iOS über den Pod Google-Maps-iOS-SDK installiert haben:

  1. Ändern Sie den Namen des Pods in GoogleMaps.
  2. Führen Sie pod install aus.
  3. Nehmen Sie die nach dem Upgrade erforderlichen Änderungen vor. In den Versionshinweisen finden Sie eine Liste der Änderungen in der jeweiligen Version.
  4. Bereinigen Sie das Projekt und erstellen Sie es neu. Wählen Sie dazu Product > Clean und anschließend Product > Build.

Wenn Sie das Google Maps SDK for iOS über den Pod GoogleMaps installiert haben:

  1. Überprüfen Sie die Podfile auf eventuelle Versionsbegrenzungen und entfernen oder aktualisieren Sie die alte Version, um sicherzustellen, dass Sie die richtige Version installiert haben. In den Versionshinweisen finden Sie eine Liste der Versionsnummern.
  2. Führen Sie pod update aus.
  3. Nehmen Sie die nach dem Upgrade erforderlichen Änderungen vor. In den Versionshinweisen finden Sie eine Liste der Änderungen in der jeweiligen Version.
  4. Bereinigen Sie das Projekt und erstellen Sie es neu. Wählen Sie dazu Product > Clean und anschließend Product > Build.

Feedback geben zu...

Google Maps SDK for iOS
Google Maps SDK for iOS