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:
- 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.)
- Erstellen Sie in Ihrem Projektverzeichnis eine Datei mit dem Namen
Podfile. In dieser Datei sind die Abhängigkeiten Ihres Projekts definiert. - 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'. - Speichern Sie die
Podfile. Öffnen Sie ein Terminal, und navigieren Sie zum Verzeichnis, das die
Podfileenthält:cd <path-to-project>
Führen Sie den Befehl
pod installaus. Auf diese Weise installieren Sie die APIs, die in derPodfileangegeben sind, zusammen mit eventuellen Abhängigkeiten.pod install
Schließen Sie Xcode, und öffnen Sie (per Doppelklick) die Datei
.xcworkspacedes Projekts, um Xcode zu starten. Von jetzt an müssen Sie die Datei.xcworkspacezum Ö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.
- Laden Sie die SDK-Quelldaten herunter: GoogleMaps-2.0.1.
- Entpacken Sie die Quelldateien.
- 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.
- Ziehen Sie die folgenden Bündel in Ihr Projekt (wählen Sie bei entsprechender Aufforderung Copy items if needed):
Subspecs/Base/Frameworks/GoogleMapsBase.frameworkSubspecs/Maps/Frameworks/GoogleMaps.frameworkSubspecs/Maps/Frameworks/GoogleMapsCore.framework
Premium Plan-Kunden müssen außerdem
Subspecs/M4B/Frameworks/GoogleMapsM4B.frameworkeinschließen. - Klicken Sie mit der rechten Maustaste in Ihrem Projekt auf
GoogleMaps.frameworkund wählen Sie Show In Finder aus. - Ziehen Sie das
GoogleMaps.bundleaus dem OrdnerResourcesin Ihr Projekt. Stellen Sie auf die entsprechende Aufforderung hin sicher, dass Copy items into destination group's folder nicht ausgewählt ist. - Wählen Sie im Projektnavigator Ihr Projekt aus und wählen Sie das Ziel Ihrer Anwendung.
- Öffnen Sie den Tab Build Phases und fügen Sie innerhalb von Link Binary with Libraries die folgenden Frameworks hinzu:
GoogleMapsBase.frameworkGoogleMaps.frameworkGoogleMapsCore.frameworkGoogleMapsM4B.framework(nur für Premium Plan-Kunden)Accelerate.frameworkCoreData.frameworkCoreGraphics.frameworkCoreLocation.frameworkCoreText.frameworkGLKit.frameworkImageIO.frameworklibc++.tbdlibz.tbdOpenGLES.frameworkQuartzCore.frameworkSystemConfiguration.frameworkUIKit.framework
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
-ObjChinzu. Wenn diese Einstellungen nicht sichtbar sind, ändern Sie den Filter in der Leiste Build Settings von Basic zu All.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 anfordernAlternativ können Sie auch wie folgt einen API-Schlüssel anfordern:
- Navigieren Sie zu Google API Console.
- Ein Projekt erstellen oder auswählen
- Klicken Sie auf Continue, um Google Maps SDK for iOS zu aktivieren.
- 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. - 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.
- Wählen Sie im Abschnitt Restrictions die Option iOS apps und geben Sie dann die Bündelkennung Ihrer App ein. Beispiel:
com.example.hellomap. - 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:
- Fügen Sie die folgende Importanweisung hinzu:
import GoogleMaps
- 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") - 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:
- Fügen Sie die folgende Importanweisung hinzu:
@import GoogleMaps;
- 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"];
- 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:

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:
- Entfernen Sie alle Verweise auf das vorherige Framework aus Ihrem Xcode-Projekt.
- Folgen Sie der Anleitung im Hinweis weiter oben, um die Google Maps SDK for iOS mit CocoaPods zu installieren.
- Nehmen Sie die nach dem Upgrade erforderlichen Änderungen vor. In den Versionshinweisen finden Sie eine Liste der Änderungen in der jeweiligen Version.
- 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:
- Ändern Sie den Namen des Pods in
GoogleMaps. - Führen Sie
pod installaus. - Nehmen Sie die nach dem Upgrade erforderlichen Änderungen vor. In den Versionshinweisen finden Sie eine Liste der Änderungen in der jeweiligen Version.
- 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:
- Überprüfen Sie die
Podfileauf 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. - Führen Sie
pod updateaus. - Nehmen Sie die nach dem Upgrade erforderlichen Änderungen vor. In den Versionshinweisen finden Sie eine Liste der Änderungen in der jeweiligen Version.
- Bereinigen Sie das Projekt und erstellen Sie es neu. Wählen Sie dazu Product > Clean und anschließend Product > Build.
