Karte hinzufügen

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Plattform auswählen: Android iOS JavaScript

Karten werden in der API durch die Klasse GMSMapView repräsentiert, eine Unterklasse von UIView. Die Karte ist das wichtigste Objekt im Maps SDK for iOS und bietet die erforderlichen Methoden, um andere Objekte wie Markierungen und Polylinien hinzuzufügen, zu entfernen und zu verwalten.

Einführung

Mit dem Maps SDK for iOS kannst du eine Google-Karte in deiner iOS-App anzeigen lassen. 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 Kartenfunktionen unterstützt die API auch eine Reihe von Interaktionen, die mit dem iOS-UI-Modell übereinstimmen. Sie können beispielsweise Interaktionen mit einer Karte einrichten, indem Sie Responses definieren, die auf Touch-Gesten von Nutzern reagieren, z. B. Tippen und Doppeltippen.

Die wichtigste Klasse beim Arbeiten mit einem Kartenobjekt ist die Klasse GMSMapView. 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 z. B. zum Schwenken und Zoomen anzeigen
  • Auf Bewegungen zum Schwenken und Zoomen reagieren, indem die Karte verschoben oder vergrößert bzw. verkleinert wird
  • Auf Bewegungen 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 Attribute 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 steuern, was auf der Karte über die Klasse GMSCameraPosition angezeigt wird.

Karten mit SwiftUI erstellen

SwiftUI bietet eine zusätzliche Möglichkeit, UI mithilfe eines deklarativen Ansatzes zu erstellen. Sie legen für SwiftUI fest, wie Ihre Ansicht aussehen soll, und teilen Ihnen die verschiedenen Zustände mit. Das System erledigt dann den Rest. SwiftUI aktualisiert die Ansicht, wenn sich der zugrunde liegende Status aufgrund eines Ereignisses oder einer Nutzeraktion ändert.

Das Maps SDK for iOS basiert auf UIKit und bietet noch keine mit SwiftUI kompatible Ansicht. Wenn Sie Karten in SwiftUI hinzufügen möchten, müssen Sie entweder UIViewRepresentable oder UIViewControllerRepresentable verwenden. Weitere Informationen finden Sie im Codelab zum Hinzufügen einer Karte zu Ihrer iOS-App mit SwiftUI.

Karte hinzufügen

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

  1. Um das SDK zu erhalten, müssen Sie einen API-Schlüssel anfordern und die erforderlichen Frameworks hinzufügen. Folgen Sie dazu den Anleitungen unter:

    1. Projekt in der Google Cloud Console einrichten

    2. API-Schlüssel verwenden

    3. Xcode-Projekt einrichten

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

  3. Erstellen oder aktualisieren Sie eine ViewController. Wenn die Karte angezeigt wird, wenn dieser Ansichts-Controller sichtbar wird, müssen Sie ihn mit der Methode loadView erstellen.

    1. Erstellen Sie ein GMSCameraPosition-Objekt, das den Mittelpunkt und die Zoomstufe der Karte angibt. Wenn Sie das Objekt GMSMapView instanziieren, müssen Sie das GMSCameraPosition-Objekt als erforderlichen Parameter übergeben.

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

    3. Legen Sie das Objekt GMSMapView als Ansicht des Controllers fest, z.B. 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 camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12)
    let mapView = GMSMapView(frame: .zero, camera: camera)
    self.view = mapView
  }
}
      

Objective-C

#import "MapObjects.h"
@import GoogleMaps;

@implementation MapObjects

- (void)viewDidLoad {
  [super viewDidLoad];
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285
                                                          longitude:103.848
                                                               zoom:12];
  GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  self.view = mapView;
}

@end
      

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.