Karte mit Markierung hinzufügen
In dieser Anleitung erfahren Sie, wie Sie Ihrem iOS-Gerät eine einfache Google-Karte mit einer Markierung hinzufügen. Sie eignet sich für Anfänger oder Fortgeschrittene in Swift oder Objective-C und allgemeine Kenntnisse über Xcode. Einen Leitfaden für fortgeschrittene Nutzer Karten erstellen, lesen Sie die .
In dieser Anleitung erstellen Sie die folgende Karte. Die Markierung befindet sich an folgender Position: Sydney, Australien.
Code abrufen
Klonen Sie den Google Maps iOS Beispiel-Repository auf GitHub.
Klicken Sie alternativ auf die folgende Schaltfläche, um den Quellcode herunterzuladen:
Swift
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 camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0) let mapView = GMSMapView.map(withFrame: self.view.frame, camera: camera) 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
#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. GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86 longitude:151.20 zoom:6]; GMSMapView *mapView = [GMSMapView mapWithFrame:self.view.frame camera:camera]; mapView.myLocationEnabled = YES; [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
Erste Schritte
Swift-Paketmanager
Das Maps SDK for iOS kann mit dem Swift-Paketmanager installiert werden.
- Prüfen Sie, ob alle vorhandenen Abhängigkeiten des Maps SDK for iOS entfernt wurden.
- Öffnen Sie ein Terminalfenster und wechseln Sie zum Verzeichnis
tutorials/map-with-marker
. -
Achten Sie darauf, dass der Xcode-Arbeitsbereich geschlossen ist, und führen Sie die folgenden Befehle aus:
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all rm Podfile rm map-with-marker.xcworkspace
- Öffnen Sie Ihr Xcode-Projekt und löschen Sie die Podfile-Datei.
- Wählen Sie Datei > Paketabhängigkeiten hinzufügen.
- Geben Sie https://github.com/googlemaps/ios-maps-sdk als URL ein, drücken Sie die Eingabetaste, um das Paket abzurufen, und klicken Sie auf Paket hinzufügen.
- Möglicherweise müssen Sie den Paket-Cache über Datei > Pakete > Paket-Cache zurücksetzen.
Mit CocoaPods
- Laden Sie Xcode herunter und installieren Sie es. Version 15.0 oder höher.
- Wenn Sie noch keine CocoaPods haben,
Installieren Sie sie unter macOS, indem Sie im Terminal den folgenden Befehl ausführen:
sudo gem install cocoapods
- Rufen Sie das Verzeichnis
tutorials/map-with-marker
auf. - Führe den Befehl
pod install
aus. Dadurch werden das inPodfile
angegebene Maps SDK und alle 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 map-with-marker.xcworkspace des Projekts per Doppelklick.
-Datei, 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 berechtigt ist, das Maps SDK for iOS verwenden Klicken Sie auf die folgende Schaltfläche, Schlüssel erstellen und die API aktivieren.
Erste SchritteWeitere Informationen finden Sie unter Fordern Sie einen API-Schlüssel an.
API-Schlüssel zur App hinzufügen
Füge deinen API-Schlüssel folgendermaßen in AppDelegate.swift
ein:
- Beachten Sie, dass der Datei die folgende Importanweisung hinzugefügt wurde:
import GoogleMaps
- Bearbeite die folgende Zeile in deinem
application(_:didFinishLaunchingWithOptions:)
und ersetzen Sie dabei YOUR_API_KEY durch Ihren API-Schlüssel:GMSServices.provideAPIKey("YOUR_API_KEY")
App erstellen und ausführen
- Verbinden Sie ein iOS-Gerät mit Ihrem Computer oder wählen Sie ein Simulator aus dem Menü "Xcode-Schema" aus.
- Wenn Sie ein Gerät verwenden, achten Sie darauf, dass die Standortdienste aktiviert sind. Wenn Sie einen Simulator verwenden, wählen Sie in den Funktionen einen Standort aus. .
- Klicken Sie in Xcode auf die Menüoption Product/Run (Produkt/Ausführen) oder .
- 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 dem Code an die App senden, wie zuvor beschrieben. Prüfen Debugging-Konsole von Xcode für Fehlermeldungen zum API-Schlüssel
- Wenn Sie den API-Schlüssel durch den iOS-Paket-Identifikator eingeschränkt haben, bearbeiten Sie die
um den Paket-Identifikator für die App hinzuzufügen:
com.google.examples.map-with-marker
- Achten Sie auf eine gute WLAN- oder GPS-Verbindung.
- Xcode-Debugging-Tools verwenden um Logs anzuzeigen und Fehler in der Anwendung zu beheben.
Code verstehen
- Erstellen Sie eine Karte und legen Sie sie als Ansicht in
viewDidLoad()
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;
- Fügen Sie der Karte in
viewDidLoad()
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;
Standardmäßig zeigt das Maps SDK for iOS den Inhalt der Informationen an wenn der Nutzer auf eine Markierung tippt. Es ist nicht nötig, einen Klick-Listener für der Markierung, wenn Sie mit der Standardfunktionsweise zufrieden sind.
Glückwunsch! Sie haben eine iOS-App erstellt, in der eine Google-Karte mit einem Markierung für einen bestimmten Standort. Sie haben auch gelernt, wie Sie den Maps SDK for iOS
Nächste Schritte
Weitere Informationen zum Kartenobjekt die Verwendung von Markierungen.