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 enthält die erforderlichen Methoden zum Hinzufügen und Entfernen und andere Objekte wie Markierungen und Polylinien verwalten.

Einführung

Mit dem Maps SDK for iOS können Sie eine Google-Karte in Ihrer iOS-App. Diese Karten sehen genauso aus wie die Karten, die Sie in Google Maps iOS-App und das SDK bietet viele derselben Funktionen.

Zusätzlich zu den 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 fördern, indem Sie Reaktionskräfte definieren, die auf Gesten der Nutzenden, z. B. Tippen und Doppeltippen.

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 des Geräts geneigt wird

Zusätzlich zu diesen automatischen Vorgängen können Sie das Verhalten und Darstellung der Karte über die Eigenschaften und Methoden, die vom Klasse GMSMapView. Mit GMSMapView können Sie Markierungen, Boden- Overlays und Polylinien erstellen, den angezeigten Kartentyp ändern und was auf der Karte über das GMSCameraPosition angezeigt wird. .

Karten mit SwiftUI erstellen

SwiftUI bietet eine zusätzliche Möglichkeit zum Erstellen von UI mithilfe eines deklarativen Ansatzes. Ich Legen Sie SwiftUI fest, wie Ihre Ansicht aussehen soll und wie die verschiedenen Zustände aussehen. und das System erledigt den Rest. SwiftUI aktualisiert die Ansicht, wenn Der zugrunde liegende Status ändert sich aufgrund eines Ereignisses oder einer Nutzeraktion.

Das Maps SDK for iOS basiert auf UIKit und bietet keine SwiftUI-kompatible Ansicht Um Karten in SwiftUI hinzufügen zu können, müssen Sie UIViewRepresentable oder UIViewControllerRepresentable. Weitere Informationen finden Sie im Codelab Karten mit SwiftUI in iOS-Apps einbinden.

Karte hinzufügen

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

  1. Um das SDK zu erhalten, fordern Sie einen API-Schlüssel an und fügen Sie die erforderlichen Frameworks hinzu, folgen Sie die Schritte in:

    1. Projekt in der Google Cloud Console einrichten

    2. API-Schlüssel verwenden

    3. Xcode-Projekt einrichten

    4. Gib in der AppDelegate deinen API-Schlüssel für die provideAPIKey: ein Klassenmethode auf GMSServices.

    5. Erstellen oder aktualisieren Sie eine ViewController. Wenn die Karte angezeigt wird, wird der Ansichts-Controller sichtbar sein, erstellen Sie ihn im viewDidLoad-Methode.

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

    7. Lege für die Kartenoptionen-Eigenschaft camera eine GMSCameraPosition-Objekt. Hier werden der Mittelpunkt und die Zoomstufe auf der Karte.

    8. GMSMapView-Klasse mithilfe der GMSMapView erstellen und instanziieren options:-Methode. Ob diese Karte als Ansichts-Controllers angezeigt wird, kann für die Kartenoption frame der Standardwert CGRectZero als Ansicht frame verwendet wird – 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 die GMSMapView weiter konfigurieren -Objekt enthält.

Nächste Schritte

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