Karte mit einer Markierung hinzufügen

In dieser Anleitung erfahren Sie, wie Sie eine Google Maps-Karte in Ihre iOS-App einbinden. Die Karte enthält eine Markierung, die einen bestimmten Standort angibt.

Code abrufen

Klonen Sie das Google Maps iOS Beispiel-Repository oder laden Sie es von GitHub herunter.

Entwicklungsprojekt einrichten

So installieren Sie das Maps SDK for iOS:

  1. Laden Sie Xcode Version 13.0 oder höher herunter und installieren Sie es.
  2. Wenn Sie CocoaPods noch nicht installiert haben, installieren Sie es unter macOS. Führen Sie dazu den folgenden Befehl im Terminal aus:
    sudo gem install cocoapods
  3. Klonen Sie das Google Maps-Repository für iOS-Beispiele oder laden Sie es herunter.
  4. Rufen Sie das Verzeichnis tutorials/map-with-marker auf.
  5. Führe den Befehl pod install aus. Dadurch werden die in Podfile angegebenen APIs zusammen mit allen zugehörigen Abhängigkeiten installiert.
  6. Öffnen Sie die Datei map-with-marker.xcworkspace des Projekts, um sie in Xcode zu öffnen. Zum Öffnen des Projekts müssen Sie die Datei .xcworkspace verwenden.

API-Schlüssel abrufen und die erforderlichen APIs aktivieren

Für diese Anleitung benötigen Sie einen Google API-Schlüssel, der zur Verwendung des Maps SDK for iOS autorisiert ist. Klicken Sie auf die Schaltfläche unten, um einen Schlüssel anzufordern und die API zu aktivieren.

Jetzt loslegen

Weitere Informationen findest du unter API-Schlüssel abrufen.

API-Schlüssel zur App hinzufügen

Swift

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

  1. Die folgende Importanweisung wurde der Datei hinzugefügt:
    import GoogleMaps
  2. Bearbeiten Sie die folgende Zeile in Ihrer application(_:didFinishLaunchingWithOptions:)-Methode und ersetzen Sie YOUR_API_KEY durch Ihren API-Schlüssel:
    GMSServices.provideAPIKey("YOUR_API_KEY")

Objective-C

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

  1. Die folgende Importanweisung wurde der Datei hinzugefügt:
    @import GoogleMaps;
  2. Bearbeiten Sie die folgende Zeile in Ihrer application(_:didFinishLaunchingWithOptions:)-Methode und ersetzen Sie YOUR_API_KEY durch Ihren API-Schlüssel:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];

Anwendung erstellen und ausführen

  1. Verbinden Sie ein iOS-Gerät mit Ihrem Computer oder wählen Sie im Pop-up-Menü „Xcode-Schema“ einen Simulator aus.
  2. Wenn Sie ein Gerät verwenden, müssen die Standortdienste aktiviert sein. Wenn Sie einen Simulator verwenden, wählen Sie im Menü Features eine Option aus.
  3. Klicken Sie in Xcode auf die Menüoption Product/Run (Produkt/Ausführung) oder das Wiedergabesymbol.

Xcode erstellt die Anwendung und führt sie dann auf dem Gerät oder im Simulator aus.

Es sollte eine Karte mit einer Markierung für Sydney an der Ostküste Australiens angezeigt werden, ähnlich wie das Bild auf dieser Seite.

Fehlerbehebung:

  • Wenn Sie keine Karte sehen, prüfen Sie, ob Sie einen API-Schlüssel erhalten und ihn wie oben beschrieben in die App eingefügt haben. Prüfen Sie die Debugging-Konsole von Xcode auf Fehlermeldungen zum API-Schlüssel.
  • Wenn du den API-Schlüssel durch die iOS-Bundle-ID eingeschränkt hast, bearbeite den Schlüssel, um die Bundle-ID für die App hinzuzufügen: com.google.examples.map-with-marker.
  • Achten Sie auf eine gute WLAN- oder GPS-Verbindung.
  • Verwenden Sie die Xcode-Debugging-Tools, um Logs aufzurufen und Fehler in der Anwendung zu beheben.

Den Code verstehen

  1. Erstellen Sie eine Karte und legen Sie sie als Ansicht in loadView() fest.

    Swift

    // 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)
    view = mapView
          

    Objective-C

    // 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.0];
    GMSMapView *mapView = [[GMSMapView alloc] initWithFrame: CGRectZero camera:camera];
    self.view = mapView;
          
  2. Markierung zur Karte in loadView() hinzufügen

    Swift

    // 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

    // 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;
          

Standardmäßig wird vom Maps SDK for iOS der Inhalt des Infofensters angezeigt, wenn der Nutzer auf eine Markierung tippt. Wenn Sie mit der Standardfunktionsweise zufrieden sind, müssen Sie keinen Klick-Listener für die Markierung hinzufügen.

Glückwunsch! Sie haben eine iOS-App erstellt, in der eine Google-Karte mit einer Markierung für einen bestimmten Standort angezeigt wird. Außerdem haben Sie erfahren, wie Sie das Maps SDK for iOS verwenden.

Nächste Schritte

Weitere Informationen zum Kartenobjekt und den Möglichkeiten, die Markierungen bieten