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:
- Laden Sie Xcode Version 14.0 oder höher herunter und installieren Sie es.
- Wenn Sie CocoaPods noch nicht haben, installieren Sie sie unter macOS. Führen Sie dazu den folgenden Befehl im Terminal aus:
sudo gem install cocoapods
- Klonen oder laden Sie das Google Maps iOS-Beispiel-Repository herunter.
- Rufen Sie das Verzeichnis
tutorials/map-with-marker
auf. - Führe den Befehl
pod install
aus. Dadurch werden die inPodfile
angegebenen APIs sowie ggf. vorhandene Abhängigkeiten installiert. - Führen Sie
pod outdated
aus, um die installierte Pod-Version mit neuen Updates zu vergleichen. Wenn eine neue Version erkannt wird, führen Siepod update
aus, umPodfile
zu aktualisieren und das neueste SDK zu installieren. Weitere Informationen finden Sie im CocoaPods-Leitfaden. - Ö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
Als letzten Schritt benötigen Sie noch einen Google API-Schlüssel, der zum Verwenden des Maps SDK for iOS berechtigt. Klicken Sie auf die Schaltfläche unten, um einen Schlüssel anzufordern und die API zu aktivieren.
Jetzt startenWeitere Informationen finden Sie unter API-Schlüssel verwenden.
API-Schlüssel zur App hinzufügen
Füge deinen API-Schlüssel folgendermaßen in AppDelegate.swift
ein:
- Die folgende Importanweisung wurde der Datei hinzugefügt:
import GoogleMaps
- 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")
Anwendung erstellen und ausführen
- Verbinden Sie ein iOS-Gerät mit Ihrem Computer oder wählen Sie im Pop-up-Menü Xcode-Schema einen Simulator aus.
- Wenn Sie ein Gerät verwenden, müssen die Standortdienste aktiviert sein. Wenn Sie einen Simulator verwenden, wählen Sie einen Standort aus dem Menü Features aus.
- Klicken Sie in Xcode auf die Menüoption Product/Run (Produkt/Ausführen) oder das Wiedergabesymbol.
- Xcode erstellt die App und führt sie dann auf dem Gerät oder im Simulator aus.
- Sie sollten eine Karte mit einer Markierung für Sydney an der Ostküste Australiens sehen, ä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-Paket-ID eingeschränkt hast, bearbeite den Schlüssel, um die Bundle-ID für die App hinzuzufügen:
com.google.examples.map-with-marker
. - Prüfen Sie, ob Sie eine gute WLAN- oder GPS-Verbindung haben.
- Verwenden Sie die Xcode-Debugging-Tools, um Logs aufzurufen und Fehler in der Anwendung zu beheben.
Den Code verstehen
- 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;
- Markierung zur Karte in
loadView()
hinzufügenSwift
// 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 wissen Sie jetzt, wie das Maps SDK for iOS verwendet wird.
Nächste Schritte
Weitere Informationen zum Kartenobjekt und dazu, was Sie mit Markierungen tun können