Karte mit einer Markierung hinzufügen

In dieser Anleitung erfahren Sie, wie Sie in Ihre iOS-App eine Google-Karte mit einer Markierung für einen bestimmten Standort einbinden.

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 14.0 oder höher herunter und installieren Sie sie.
  2. Wenn Sie CocoaPods noch nicht haben, installieren Sie es unter macOS, indem Sie den folgenden Befehl über das Terminal ausführen:
    sudo gem install cocoapods
  3. Klonen Sie das Google Maps iOS-Beispiel-Repository 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 und alle zugehörigen Abhängigkeiten installiert.
  6. Führen Sie pod outdated aus, um die installierte Pod-Version mit allen neuen Updates zu vergleichen. Wenn eine neue Version erkannt wird, führen Sie pod update aus, um Podfile zu aktualisieren und das neueste SDK zu installieren. Weitere Informationen finden Sie im CocoaPods-Leitfaden.
  7. Öffnen Sie die Datei map-with-marker.xcworkspace des Projekts per Doppelklick, um sie in Xcode zu öffnen. Sie müssen die Datei .xcworkspace verwenden, um das Projekt zu öffnen.

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 starten

Weitere Informationen finden Sie unter API-Schlüssel anfordern.

API-Schlüssel zur App hinzufügen

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

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

App erstellen und ausführen

  1. Verbinden Sie ein iOS-Gerät mit Ihrem Computer oder wählen Sie im Pop-up-Menü des Xcode-Schemas einen Simulator aus.
  2. Wenn Sie ein Gerät verwenden, vergewissern Sie sich, dass die Standortdienste aktiviert sind. Wenn Sie einen Simulator verwenden, wählen Sie im Menü Features einen Ort aus.
  3. Klicken Sie in Xcode auf die Menüoption Produkt/Ausführung (oder das Abspielsymbol).
    • Xcode erstellt die App und führt sie dann auf dem Gerät oder im Simulator aus.
    • Es sollte eine Karte mit einer Markierung in der Mitte 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. Suchen Sie in der Debugging-Konsole von Xcode nach Fehlermeldungen zum API-Schlüssel.
  • Wenn Sie den API-Schlüssel durch den iOS-Bundle-Identifikator eingeschränkt haben, bearbeiten Sie den Schlüssel und fügen Sie den Bundle-Identifikator für die App hinzu: com.google.examples.map-with-marker.
  • Sie benötigen 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. Fügen Sie der Karte in loadView() eine Markierung hinzu.

    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;
          

Wenn der Nutzer auf eine Markierung tippt, wird vom Maps SDK for iOS standardmäßig der Inhalt des Infofensters angezeigt. 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 wissen Sie jetzt, wie Sie das Maps SDK for iOS verwenden.

Nächste Schritte

Weitere Informationen zum Kartenobjekt und den Möglichkeiten mit Markierungen