Karte hinzufügen

Plattform auswählen: Android iOS JavaScript

Karten werden in der API durch die Klasse GMSMapView dargestellt, eine Unterklasse 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.

Einführung

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

Zusätzlich zur Kartendarstellungsfunktion unterstützt die API auch zahlreiche Interaktionen, die mit dem iOS-UI-Modell kompatibel sind. Damit Nutzer mit einer Karte interagieren können, kannst du zum Beispiel Responder definieren, die auf Touch-Gesten reagieren, z. B. Tippen und Doppeltippen.

Die Hauptklasse bei der Arbeit mit einem Kartenobjekt ist die GMSMapView-Klasse. GMSMapView führt die folgenden Vorgänge automatisch aus:

  • 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 Wischbewegungen mit zwei Fingern reagieren, indem der Betrachtungswinkel der Karte verändert wird

Zusätzlich zu diesen automatischen Vorgängen können Sie das Verhalten und das Aussehen der Karte über die Eigenschaften und Methoden steuern, die von der Klasse GMSMapView bereitgestellt werden. Mit GMSMapView können Sie Markierungen, Boden-Overlays und Polylinien hinzufügen und entfernen, den angezeigten Kartentyp ändern und über die Klasse GMSCameraPosition steuern, was auf der Karte angezeigt wird.

Karten mit SwiftUI erstellen

SwiftUI bietet eine zusätzliche Möglichkeit, mit einem deklarativen Ansatz eine Benutzeroberfläche zu erstellen. Sie geben SwiftUI an, wie Ihre Ansicht aussehen soll, und legen alle verschiedenen Status dafür fest. 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 basiert auf UIKit und bietet keine SwiftUI-kompatible Ansicht. Wenn Sie Karten in SwiftUI hinzufügen möchten, müssen Sie entweder UIViewRepresentable oder UIViewControllerRepresentable einhalten. Weitere Informationen finden Sie im Codelab Mit SwiftUI eine Karte in Ihrer iOS-App einfügen.

Karte hinzufügen

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

  1. So kannst du das SDK herunterladen, einen API-Schlüssel abrufen und die erforderlichen Frameworks hinzufügen:

    1. Einrichtung in der Google Cloud Console

    2. API-Schlüssel verwenden

    3. Xcode-Projekt einrichten

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

    5. ViewController erstellen oder aktualisieren Wenn die Karte angezeigt wird, sobald dieser Ansichtscontroller sichtbar wird, müssen Sie sie in der Methode viewDidLoad erstellen.

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

    7. Legen Sie die camera-Eigenschaft der Kartenoptionen mit einem GMSCameraPosition-Objekt fest. Damit wird die Mitte und die Zoomstufe der Karte festgelegt.

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

    9. Legen Sie das GMSMapView-Objekt als Ansicht des View 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 ausgeführt haben, können Sie die Karteneinstellungen konfigurieren.