Jetzt starten
Bevor Sie den Beispielcode ausprobieren können, müssen Sie Ihre Entwicklungsumgebung konfigurieren. Weitere Informationen finden Sie unter Maps SDK for iOS – Beispielcode.
Code ansehen
Swift
import GoogleMaps import UIKit // Sample code for adding a marker. class MarkersViewController: UIViewController { private lazy var sydneyMarker = GMSMarker( position: CLLocationCoordinate2D(latitude: -33.8683, longitude: 151.2086)) private lazy var melbourneMarker = GMSMarker( position: CLLocationCoordinate2D(latitude: -37.81969, longitude: 144.966085)) private lazy var mapView: GMSMapView = { let camera = GMSCameraPosition(latitude: -37.81969, longitude: 144.966085, zoom: 4) return GMSMapView(frame: .zero, camera: camera) }() override func loadView() { view = mapView sydneyMarker.title = "Sydney" sydneyMarker.snippet = "Population: 4,605,992" sydneyMarker.isFlat = false sydneyMarker.rotation = 30 print("sydneyMarker: \(sydneyMarker)") let australiaMarker = GMSMarker( position: CLLocationCoordinate2D(latitude: -27.994401, longitude: 140.07019)) australiaMarker.title = "Australia" australiaMarker.appearAnimation = .pop australiaMarker.isFlat = true australiaMarker.isDraggable = true australiaMarker.groundAnchor = CGPoint(x: 0.5, y: 0.5) australiaMarker.icon = UIImage(named: "australia") australiaMarker.map = mapView mapView.selectedMarker = sydneyMarker navigationItem.rightBarButtonItem = UIBarButtonItem( barButtonSystemItem: .add, target: self, action: #selector(tapAdd)) } @objc func tapAdd() { if sydneyMarker.map == nil { sydneyMarker.map = mapView } else { sydneyMarker.map = nil } melbourneMarker.title = "Melbourne" melbourneMarker.snippet = "Population: 4,169,103" melbourneMarker.map = mapView } }
Objective-C
#import "GoogleMapsDemos/Samples/MarkersViewController.h" #import <GoogleMaps/GoogleMaps.h> @implementation MarkersViewController { GMSMarker *_sydneyMarker; GMSMarker *_melbourneMarker; GMSMarker *_fadeInMarker; } - (void)viewDidLoad { [super viewDidLoad]; GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-37.81969 longitude:144.966085 zoom:4]; GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; _sydneyMarker = [[GMSMarker alloc] init]; _sydneyMarker.title = @"Sydney"; _sydneyMarker.snippet = @"Population: 4,605,992"; _sydneyMarker.position = CLLocationCoordinate2DMake(-33.8683, 151.2086); _sydneyMarker.flat = NO; _sydneyMarker.rotation = 30.0; NSLog(@"sydneyMarker: %@", _sydneyMarker); GMSMarker *australiaMarker = [[GMSMarker alloc] init]; australiaMarker.title = @"Australia"; australiaMarker.position = CLLocationCoordinate2DMake(-27.994401, 140.07019); australiaMarker.appearAnimation = kGMSMarkerAnimationPop; australiaMarker.flat = YES; australiaMarker.draggable = YES; australiaMarker.groundAnchor = CGPointMake(0.5, 0.5); australiaMarker.icon = [UIImage imageNamed:@"australia"]; australiaMarker.map = mapView; _fadeInMarker = [[GMSMarker alloc] init]; _fadeInMarker.title = @"Australia"; _fadeInMarker.position = CLLocationCoordinate2DMake(-29.9959, 145.0719); _fadeInMarker.appearAnimation = kGMSMarkerAnimationFadeIn; _fadeInMarker.icon = [UIImage imageNamed:@"australia"]; // Set the marker in Sydney to be selected mapView.selectedMarker = _sydneyMarker; self.view = mapView; self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(didTapAdd)]; } - (void)didTapAdd { if (_sydneyMarker.map == nil) { _sydneyMarker.map = (GMSMapView *)self.view; } else { _sydneyMarker.map = nil; } _melbourneMarker.map = nil; _melbourneMarker = [[GMSMarker alloc] init]; _melbourneMarker.title = @"Melbourne"; _melbourneMarker.snippet = @"Population: 4,169,103"; _melbourneMarker.position = CLLocationCoordinate2DMake(-37.81969, 144.966085); _melbourneMarker.map = (GMSMapView *)self.view; if (_fadeInMarker.map) { _fadeInMarker.map = nil; } else { _fadeInMarker.map = (GMSMapView *)self.view; } } @end
Vollständige Beispielanwendung lokal ausführen
Die Beispielanwendung für das Maps SDK for iOS ist als Downloadarchiv auf GitHub verfügbar. So installieren und testen Sie die Beispiel-App für das Maps SDK for iOS:
- Führen Sie
git clone https://github.com/googlemaps-samples/maps-sdk-for-ios-samples.git
aus, um das Beispiel-Repository in ein lokales Verzeichnis zu klonen. Öffnen Sie ein Terminalfenster, rufen Sie das Verzeichnis auf, in das Sie die Beispieldateien geklont haben, und wechseln Sie zum Verzeichnis „GoogleMaps“:
Swift
cd maps-sdk-for-ios-samples-main/GoogleMaps-Swift
pod install
open GoogleMapsSwiftDemos.xcworkspace
Objective-C
cd maps-sdk-for-ios-samples-main/GoogleMaps
pod install
open GoogleMapsDemos.xcworkspace
- Klicken Sie in Xcode auf die Schaltfläche „Kompilieren“, um die App mit dem aktuellen Schema zu erstellen. Beim Build wird ein Fehler ausgegeben, der Sie auffordert, Ihren API-Schlüssel in die Datei
SDKConstants.swift
für Swift oderSDKDemoAPIKey.h
für Objective-C einzugeben. - Wenn Sie noch keinen API-Schlüssel haben, folgen Sie der Anleitung, um ein Projekt in der Google Cloud Console einzurichten und einen API-Schlüssel zu erhalten. Wenn Sie den Schlüssel in der Cloud Console konfigurieren, können Sie ihn auf die Bundle-ID der Beispiel-App beschränken, damit nur Ihre App ihn verwenden kann. Die Standard-Bundle-ID der SDK-Beispielanwendung ist
com.example.GoogleMapsDemos
. - Bearbeite die
SDKConstants.swift
-Datei für Swift oder dieSDKDemoAPIKey.h
-Datei für Objective-C und füge deinen API-Schlüssel in die Definition der KonstanteapiKey
oderkAPIKey
ein. Beispiel:Swift
static let apiKey = "YOUR_API_KEY"
Objective-C
static NSString *const kAPIKey = @"YOUR_API_KEY";
- Entfernen Sie in der Datei
SDKConstants.swift
(Swift) oderSDKDemoAPIKey.h
(Objective-C) die folgende Zeile, da sie zum Registrieren des benutzerdefinierten Problems verwendet wird:Swift
#error (Register for API Key and insert here. Then delete this line.)
Objective-C
#error Register for API Key and insert here.
- Erstellen Sie das Projekt und führen Sie es aus. Das Fenster des iOS-Simulators wird angezeigt. Es enthält eine Liste der Maps SDK-Demos.
- Wählen Sie eine der angezeigten Optionen aus, um eine Funktion des Maps SDK for iOS zu testen.
- Wenn Sie aufgefordert werden, GoogleMapsDemos Zugriff auf Ihren Standort zu gewähren, wählen Sie Zulassen aus.