Nachdem Sie die Abrechnung aktiviert und einen API-Schlüssel erstellt haben, können Sie das Xcode-Projekt einrichten, mit dem Sie Ihre Anwendung entwickeln.
Für jede Version sind Versionshinweise verfügbar.
Schritt 1: Erforderliche Software installieren
Wenn Sie ein Projekt mit dem Maps SDK for iOS erstellen möchten, müssen Sie Folgendes herunterladen und installieren:
Schritt 2: Xcode-Projekt erstellen und Maps SDK for iOS installieren
So installieren Sie die API in einem neuen Projekt:
Mit CocoaPods
Das Maps SDK for iOS ist als Pod von CocoaPods verfügbar. CocoaPods ist ein Open-Source-Abhängigkeitsmanager für Cocoa-Projekte in Swift und Objective-C.
Falls du das Tool „CocoaPods“ noch nicht nutzt, installiere es unter macOS, indem du den folgenden Befehl über das Terminal ausführst. Weitere Informationen findest du im Startleitfaden zu CocoaPods (in englischer Sprache).
sudo gem install cocoapods
Erstelle eine Podfile
für das Maps SDK for iOS und verwende sie, um die API und die zugehörigen Abhängigkeiten zu installieren:
- 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.
- Wählen Sie die Vorlage iOS > App aus.
- Auf dem Bildschirm mit den Projektoptionen:
- Geben Sie den Projektnamen ein.
- Notieren Sie den Wert des Felds Paket-ID. Mit diesem Wert können Sie Ihren API-Schlüssel unten einschränken.
- Setzen Sie das Projekt Interface auf Storyboard.
- Setzen Sie Language (Sprache) auf Swift oder Objective-C.
- Erstelle in deinem Projektverzeichnis eine Datei mit dem Namen
Podfile
. In dieser Datei sind die Abhängigkeiten des Projekts definiert. - Bearbeiten Sie die
Podfile
und fügen Sie die Abhängigkeiten zusammen mit ihren versions hinzu. Das folgende Beispiel enthält die Abhängigkeit, die Sie für das Maps SDK for iOS benötigen:source 'https://github.com/CocoaPods/Specs.git' platform :ios, '14.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleMaps', '8.3.1' end
Führen Sie regelmäßigpod outdated
aus, um festzustellen, ob eine neuere Version verfügbar ist. So haben Sie immer die aktuelle Version. Führen Sie bei Bedarf ein Upgrade auf die neueste Version durch. - Speichere die
Podfile
. Öffnen Sie ein Terminal und rufen Sie das Verzeichnis mit der
Podfile
auf:cd <path-to-project>
Führe den Befehl
pod install
aus. Dadurch werden die in derPodfile
angegebenen APIs und ggf. zugehörige Abhängigkeiten installiert.pod install
Schließe Xcode und öffne dann mit einem Doppelklick die Datei
.xcworkspace
deines Projekts, um Xcode wieder zu starten. Ab jetzt musst du das Projekt über die Datei.xcworkspace
aufrufen.
So aktualisieren Sie die API für ein vorhandenes Projekt:
- Öffnen Sie ein Terminal und rufen Sie das Projektverzeichnis auf, das
Podfile
enthält. - Führe den Befehl
pod update
aus. Dadurch werden alle inPodfile
angegebenen APIs auf die neueste Version aktualisiert.
Manuell einbinden
In diesem Leitfaden erfahren Sie, wie Sie das XCFrameworks, das das Maps SDK for iOS enthält, manuell zu Ihrem Projekt hinzufügen und Ihre Build-Einstellungen in Xcode konfigurieren. Ein XCFramework ist ein Binärpaket, das Sie auf mehreren Plattformen verwenden können, einschließlich Computern, die Apple Silicon verwenden.- Laden Sie die folgenden SDK-Binärprogramme und Ressourcendateien herunter:
- Entpacken Sie die ZIP-Dateien, um auf XCFrameworks und Ressourcen zuzugreifen.
- 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.
- Wählen Sie die Vorlage iOS > App aus.
- Auf dem Bildschirm mit den Projektoptionen:
- Geben Sie den Projektnamen ein.
- Notieren Sie den Wert des Felds Paket-ID. Mit diesem Wert können Sie Ihren API-Schlüssel unten einschränken.
- Setzen Sie das Projekt Interface auf Storyboard.
- Setzen Sie Language (Sprache) auf Swift oder Objective-C.
- Ziehen Sie die folgenden XCFrameworks in Ihr Projekt unter Frameworks, Bibliotheken und eingebettete Inhalte. Wählen Sie für jedes XCFramework die Option Do Not Embed (Nicht einbetten) aus:
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
- (Nur für Kunden mit Premiumoption)
GoogleMapsM4B.xcframework
- Ziehen Sie
GoogleMaps.bundle
aus den heruntergeladenen GoogleMapsResources in das Verzeichnis der obersten Ebene Ihres Xcode-Projekts. Achten Sie bei entsprechender Aufforderung darauf, dass Copy items if required (Elemente bei Bedarf kopieren) ausgewählt ist. - Wählen Sie Ihr Projekt im Project Navigator und dann das Ziel Ihrer Anwendung aus.
- Öffnen Sie den Tab Build Phases (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 und Bibliotheken hinzu:
Accelerate.framework
CoreData.framework
CoreGraphics.framework
CoreImage.framework
CoreLocation.framework
CoreTelephony.framework
CoreText.framework
GLKit.framework
ImageIO.framework
libc++.tbd
libz.tbd
Metal.framework
OpenGLES.framework
QuartzCore.framework
SystemConfiguration.framework
UIKit.framework
Wählen Sie Ihr Projekt anstelle eines bestimmten Ziels aus und öffnen Sie den Tab Build Settings (Build-Einstellungen). Fügen Sie im Bereich Weitere Verknüpfungs-Flags
-ObjC
hinzu. Falls diese Einstellungen nicht angezeigt werden, ändern Sie den Filter in der Leiste Build-Einstellungen von Basic in All.Informationen zum Installieren des Places SDK for iOS XCFramework finden Sie unter Erste Schritte mit dem Places SDK for iOS.
Schritt 3: API-Schlüssel zum Projekt hinzufügen
Unter API-Schlüssel anfordern haben Sie einen API-Schlüssel für Ihre Anwendung generiert. Fügen Sie diesen Schlüssel nun Ihrem Xcode-Projekt hinzu.
Ersetzen Sie YOUR_API_KEY
in den folgenden Beispielen durch Ihren API-Schlüssel.
erhältst du weitere Informationen.
Swift
Füge deinen API-Schlüssel folgendermaßen in AppDelegate.swift
ein:
- Fügen Sie die folgende Importanweisung hinzu:
import GoogleMaps
- Fügen Sie der Methode
application(_:didFinishLaunchingWithOptions:)
mithilfe Ihres API-Schlüssels Folgendes hinzu:GMSServices.provideAPIKey("YOUR_API_KEY")
- Wenn Sie auch die Places API verwenden, fügen Sie Ihren Schlüssel noch einmal wie hier gezeigt hinzu:
GMSPlacesClient.provideAPIKey("YOUR_API_KEY")
Objective-C
Füge deinen API-Schlüssel folgendermaßen in AppDelegate.m
ein:
- Fügen Sie die folgende Importanweisung hinzu:
@import GoogleMaps;
- Fügen Sie der Methode
application:didFinishLaunchingWithOptions:
mithilfe Ihres API-Schlüssels Folgendes hinzu:[GMSServices provideAPIKey:@"YOUR_API_KEY"];
- Wenn Sie auch die Places API verwenden, fügen Sie Ihren Schlüssel noch einmal wie hier gezeigt hinzu:
[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];
Schritt 4: Karte hinzufügen
Swift
/* * Copyright 2020 Google Inc. All rights reserved. * * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this * file except in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF * ANY KIND, either express or implied. See the License for the specific language governing * permissions and limitations under the License. */ import UIKit import GoogleMaps class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. // Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. let options = GMSMapViewOptions() options.camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0) options.frame = self.view.bounds let mapView = GMSMapView(options: options) self.view.addSubview(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
/* * Copyright 2020 Google Inc. All rights reserved. * * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this * file except in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF * ANY KIND, either express or implied. See the License for the specific language governing * permissions and limitations under the License. */ #import "ViewController.h" #import <GoogleMaps/GoogleMaps.h> @interface ViewController() @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. // Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:-33.8683 longitude:151.2086 zoom:6]; options.frame = self.view.bounds; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; [self.view addSubview: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
Schritt 5 (optional): Von der API verwendete URL-Schemas deklarieren
Ab iOS 9 und Xcode 7 können Apps die URL-Schemas deklarieren, die sie öffnen möchten, indem sie die Schemas in der Datei Info.plist
der App angeben. Mit dem Maps SDK for iOS wird die Google Maps App geöffnet, wenn der Nutzer auf der Karte auf das Google-Logo klickt. Daher können in Ihrer App die entsprechenden URL-Schemas deklariert werden.
Zum Deklarieren der URL-Schemas, die vom Maps SDK for iOS verwendet werden, fügen Sie Ihrem Info.plist
die folgenden Zeilen hinzu:
Im folgenden Screenshot wird die Konfiguration in der Benutzerschnittstelle von Xcode gezeigt:
Ohne die obige Deklaration können die folgenden Fehler auftreten, wenn der Nutzer auf das Google-Logo auf der Karte tippt:
-canOpenURL: fehlgeschlagen für URL: "comgooglemaps://" - Fehler: "Diese App darf das Schema comgooglemaps nicht abfragen" -canOpenURL: fehlgeschlagen für URL: "googlechromes://" - Fehler: "Diese App darf das Schema googlechromes nicht abfragen"
Fügen Sie die Deklaration zu Info.plist
hinzu, um diese Fehler zu vermeiden.
Nächste Schritte
Da Sie nun einen API-Schlüssel und ein Xcode-Projekt haben, können Sie Anwendungen erstellen und ausführen. Das Maps SDK for iOS bietet viele Anleitungen und Beispiel-Apps, die Ihnen den Einstieg erleichtern. Weitere Informationen finden Sie hier: