Frühere Version des Google Maps Mobile SDK for Work: iOS

Kunden mit einer früheren Google Maps APIs for Work- oder Google Maps API for Business-Lizenz erwerben die Google Maps SDK for iOS automatisch im Rahmen des Google Maps Mobile SDK for Work. In diesem Abschnitt der Dokumentation wird die Einrichtung für dieses SDK beschrieben.

Diese Seite richtet sich ausschließlich an Kunden mit einer früheren Maps APIs for Work- oder Maps API for Business-Lizenz. Diese Seite hat keine Gültigkeit für Kunden mit dem neuen Google Maps APIs Premium Plan, der ab Januar 2016 erhältlich ist.

Übersicht

Folgen Sie der Anleitung auf dieser Seite, um das SDK herunterzuladen, Ihr Projekt einzurichten und eine Karte hinzuzufügen. Hier sind die erforderlichen Schritte zusammengefasst:

  1. Laden Sie das SDK herunter.
  2. Fügen Sie Ihren API-Schlüssel Ihrem AppDelegate hinzu.
  3. Fügen Sie eine Karte hinzu.

SDK herunterladen

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.

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.

API-Schlüssel anfordern und der App hinzufügen

Um Ihre App bei Google Maps SDK for iOS zu authentifizieren, benötigen Sie einen API-Schlüssel, der auf eine App-spezifische Bündelkennung beschränkt ist. Durch diese Kombination wird ein API-Schlüssel mit iOS-Einschränkung erstellt.

Ihr API-Schlüssel kennzeichnet Sie als Google Maps Mobile SDK for Work-Kunden und aktiviert den Support und das erworbene Kontingent für Ihre Anwendung. Sie können Ihren API-Schlüssel bei einem Konto generieren, bei dem der Dienst Google Maps Mobile SDK aktiviert ist, indem Sie den Paketnamen Ihrer Anwendung registrieren.

Sicherstellen, dass Ihr Konto aktiviert ist für den

Dienst Google Maps Mobile SDK

Das Team für den Google Cloud Support aktiviert den Dienst Google Maps Mobile SDK, wenn Sie sich für das Google Maps Mobile SDK for Work registrieren. Der Dienst wird bei einem neuen Projekt aktiviert.

Hinweis: Nur der ursprüngliche Eigentümer des Projekts kann den Dienst Google Maps Mobile SDK sehen. Um eine Anzeigeautorisierung für weitere Projekteigentümer anzufordern, müssen Sie einen nichttechnischen Fall im Google Cloud Support Portal einreichen.

Gehen Sie wie folgt vor, um sicherzustellen, dass Ihr Konto für die erforderliche(n) API(s) aktiviert wurde:

  1. Navigieren Sie zur Google API Console und melden Sie sich mit Ihrem Google-Konto an.
  2. Wählen Sie das Google Maps Mobile SDK for Work-Projekt, das bei der Bestellung von Google Maps Mobile SDK for Work für Sie erstellt wurde. Der Projektname beginnt mit Google Maps APIs for Business or Google Maps for Work or Google Maps. Falls Sie noch keinen Zugriff auf das SDK erworben haben, kontaktieren Sie bitte den [Vertrieb].
  3. Öffnen Sie das Dashboard und vergewissern Sie sich in der Liste der APIs, Google Maps Mobile SDK aktiviert ist.

API-Schlüssel von Google API Console anfordern

Nachdem der Dienst Google Maps Mobile SDK for Work für Ihr Projekt aktiviert wurde, müssen Sie einen neuen API-Schlüssel generieren.

  1. Navigieren Sie zur Seite „Credentials“ der Google API Console und melden Sie sich mit Ihrem Google-Konto an.
  2. Wählen Sie das Google Maps Mobile SDK for Work-Projekt, das bei der Bestellung von Google Maps Mobile SDK for Work für Sie erstellt wurde. Der Projektname beginnt mit Google Maps APIs for Business or Google Maps for Work or Google Maps. Falls Sie noch keinen Zugriff auf das SDK erworben haben, wenden Sie sich an den [Vertrieb].
  3. Suchen Sie in der Liste der API-Schlüssel nach einem Schlüssel mit iOS-Einschränkung.
  4. Wenn es für Ihr Projekt noch keinen API-Schlüssel mit iOS-Einschränkung gibt, müssen Sie einen erstellen. Wählen Sie dazu Create credentials > API key.
  5. Wählen Sie im nächsten Dialogfenster die Option Restrict key.
  6. Wählen Sie im Abschnitt Restrictions die Option iOS apps und geben Sie dann mindestens eine App-Bündelkennung ein. Beispiel: com.example.hellomap.
  7. Klicken Sie auf Save.

    Ihr neuer iOS API-Schlüssel 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

API-Schlüssel der App 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"];

Hinzufügen einer Karte



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.

Weitere Informationen

Google Places API for iOS

Es bleibt Ihnen freigestellt, die Google Places API for iOS in Ihrem Projekt zu verwenden. Allerdings ist diese API nicht durch Ihre Google Maps Mobile SDK for Work-Lizenz abgedeckt. Dies bedeutet, dass die Google Places API for iOS nicht durch den erweiterten Support oder das SLA abgedeckt ist, den bzw. das Sie mit der Google Maps Mobile SDK for Work-Lizenz erworben haben. Die Nutzung unterliegt den Servicebedingungen der kostenlosen API und wird nicht auf Ihr Google Maps Mobile SDK for Work-Kontingent angerechnet. Wenden Sie sich an den zuständigen Google-Vertriebsmitarbeiter, um weitere Informationen zur Aktivierung der Google Places API for iOS zu erhalten.

Zuordnungsvorgaben

Sie müssen den Zuordnungstext in den Abschnitt „Rechtliche Hinweise“ Ihrer Anwendung aufnehmen. Google empfiehlt, die rechtlichen Hinweise als eigenen Menüpunkt oder als Teil des Menüs „Info“ hinzuzufügen.

Die Quellenangabe wird durch einen Aufruf von GMSServices.openSourceLicenseInfo() zur Verfügung gestellt.

Unterstützte Plattformen

Für die Entwicklung einer iOS-App mit dem zum Lieferumfang des Google Maps Mobile SDK for Work gehörenden Google Maps SDK for iOS ist Folgendes erforderlich:

  • Xcode 7.3 oder höher.
  • iOS SDK 8.0 oder höher.

Apps, die mit diesem SDK entwickelt werden, benötigen iOS 7.0 oder höher.

Versionsvergleich

In der folgenden Tabelle sind die wesentlichen Unterschiede zwischen der Verwendung des standardmäßigen Google Maps SDK for iOS und der Verwendung des SDK mit dem Google Maps Mobile SDK for Work aufgeführt.

  Standardmäßiges Google Maps SDK for iOS Google Maps Mobile SDK for Work
Supportkanäle Community-basierter Support. Zugang zum Premium-Support.
Nutzungsbedingungen Unterliegt den Nutzungsbedingungen für Google Maps/Google Earth APIs. Unterliegt den Nutzungsbedingungen für das Google Maps Mobile SDK for Work.

Dokumentation

Die Hauptinformationsquelle zum Google Maps SDK for iOS ist die Entwickler- und Referenzdokumentation auf unserer Website.