Karte hinzufügen

Plattform auswählen: Android iOS JavaScript

Karten werden in der API durch die Klasse GMSMapView dargestellt, eine abgeleitete Klasse von UIView. Die Karte ist das wichtigste Objekt im Maps SDK for iOS und bietet die erforderlichen Methoden zum Hinzufügen, Entfernen und Verwalten anderer Objekte wie Markierungen und Polylinien.

Einleitung

Mit dem Maps SDK for iOS können Sie eine Google-Karte in Ihrer iOS-App darstellen. Diese Karten sehen genauso aus wie in der Google Maps App für iOS und das SDK stellt viele derselben Funktionen bereit.

Zusätzlich zur Kartenfunktion unterstützt die API auch eine Reihe von Interaktionen, die dem iOS-UI-Modell entsprechen. So lassen sich beispielsweise Interaktionen mit einer Karte einrichten, indem Sie Teilnehmer definieren, die auf Nutzergesten wie Tippen und Doppeltippen reagieren.

Die wichtigste Klasse bei der Arbeit mit einem Kartenobjekt ist die Klasse GMSMapView. GMSMapView verarbeitet die folgenden Vorgänge automatisch:

  • Verbindung zum Google Maps-Dienst herstellen
  • Kartenkacheln herunterladen
  • Kacheln auf dem Gerätebildschirm anzeigen
  • Verschiedene Steuerelemente anzeigen, z. B. zum Schwenken und Zoomen
  • Auf Touch-Gesten zum Schwenken und Zoomen reagieren, indem die Karte verschoben oder heran- bzw. herausgezoomt wird
    • Auf Touch-Gesten mit zwei Fingern reagieren, indem der Blickwinkel der Karte geneigt wird.

Zusätzlich zu diesen automatischen Vorgängen können Sie das Verhalten und die Darstellung der Karte über die Eigenschaften und Methoden steuern, die von der Klasse GMSMapView zur Verfügung gestellt werden. Mit GMSMapView können Sie Markierungen, Boden-Overlays und Polylinien hinzufügen und entfernen, den Typ der angezeigten Karte ändern und mithilfe der Klasse GMSCameraPosition steuern, was auf der Karte zu sehen ist.

Karten mit SwiftUI erstellen

SwiftUI bietet eine zusätzliche Möglichkeit zum Erstellen von UI mithilfe eines deklarativen Ansatzes. Sie geben SwiftUI an, wie Ihre Ansicht mit den verschiedenen Zuständen aussehen soll, und das System erledigt den Rest. SwiftUI aktualisiert die Ansicht immer dann, wenn sich der zugrunde liegende Status aufgrund eines Ereignisses oder einer Nutzeraktion ändert.

Das Maps SDK for iOS baut auf UIKit auf und bietet keine mit SwitUI kompatible Ansicht. Das Hinzufügen von Karten in SwiftUI muss den Anforderungen von UIViewRepresentable oder UIViewControllerRepresentable entsprechen. Weitere Informationen findest du im Codelab zum Hinzufügen einer Karte zu deiner iOS-App mit SwiftUI.

Karte hinzufügen

Das Hinzufügen einer Karte umfasst die folgenden grundlegenden Schritte:

  1. Um das SDK abzurufen, müssen Sie einen API-Schlüssel anfordern und die erforderlichen Frameworks hinzufügen. Gehen Sie dazu so vor:

    1. Projekt in der Google Cloud Console einrichten

    2. API-Schlüssel verwenden

    3. Xcode-Projekt einrichten

    4. Geben Sie in AppDelegate Ihren API-Schlüssel für die Klassenmethode provideAPIKey: auf GMSServices an.

    5. ViewController erstellen oder aktualisieren. Wenn die Karte angezeigt wird, sobald dieser Ansichts-Controller sichtbar wird, müssen Sie ihn innerhalb der Methode viewDidLoad erstellen.

    6. Legen Sie beim Initialisieren der Kartenansicht die Konfigurationsoptionen mit GMSMapViewOptions fest. Zu den Attributen gehören frame, camera, mapID,backgroundColor oder screen.

    7. Lege die camera-Eigenschaft der map options mit einem GMSCameraPosition-Objekt fest. Damit werden der Mittelpunkt und die Zoomstufe der Karte angegeben.

    8. Erstellen und instanziieren Sie eine GMSMapView-Klasse mit der GMSMapView-Methode options:. Wenn diese Karte als einzige Ansicht des Ansichts-Controllers verwendet werden soll, kann der Standardwert CGRectZero der Kartenoption frame als Ansicht frame verwendet werden. Die Größe der Karte wird automatisch angepasst.

    9. Legen Sie das GMSMapView-Objekt als Ansicht des Ansichts-Controllers fest. Beispiel: self.view = mapView;

Im folgenden Beispiel wird eine Karte mit der Innenstadt von Singapur in der Mitte zu einer App hinzugefügt.

Swift

import GoogleMaps

class MapObjects : UIViewController {
  override func viewDidLoad() {
    super.viewDidLoad()

    let options = GMSMapViewOptions()
    options.camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12)
    options.frame = self.view.bounds;

    let mapView = GMSMapView(options:options)
    self.view = mapView
  }
}

Objective-C

- (void)viewDidLoad {
  [super viewDidLoad];

  GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
  options.camera = [GMSCameraPosition cameraWithLatitude:1.285
                                                        longitude:103.848
                                                             zoom:12];
  options.frame = self.view.bounds;

  GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
  self.view = mapView;
}

Nachdem Sie diese Schritte ausgeführt haben, können Sie das GMSMapView-Objekt weiter konfigurieren.

Nächste Schritte

Nachdem Sie diese Schritte abgeschlossen haben, können Sie die Karteneinstellungen konfigurieren.