Steuerelemente und Touch-Gesten

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

Plattform auswählen: Android iOS JavaScript

Mit dem Maps SDK for iOS kannst du anpassen, wie Nutzer mit deiner Karte interagieren, indem du festlegst, welche der integrierten UI-Komponenten auf der Karte erscheinen und welche Touch-Gesten zulässig sind.

Kartensteuerelemente

Das Maps SDK for iOS bietet einige integrierte UI-Steuerelemente, die denen in der Google Maps App für iOS ähneln. Sie können die Sichtbarkeit dieser Steuerelemente mit der Klasse GMSUISettings ein- und ausschalten. Änderungen an dieser Klasse werden ohne Verzögerung in der Karte angezeigt.

Kompass

Das Maps SDK for iOS enthält eine Kompassgrafik, die unter bestimmten Umständen oben rechts auf der Karte angezeigt wird. Der Kompass wird nur dann angezeigt, wenn die Kamera keine Nullrichtung aufweist. Wenn der Nutzer auf den Kompass klickt, wird die Kamera in eine Position mit Nullrichtung (Standardausrichtung) zurückbewegt und der Kompass wird anschließend allmählich ausgeblendet.

Standardmäßig ist der Kompass deaktiviert. Sie können den Kompass aktivieren, indem Sie die Property compassButton von GMSUISettings auf YES setzen. Sie können jedoch nicht erzwingen, dass der Kompass immer angezeigt wird.

Swift

let camera = GMSCameraPosition(latitude: 37.757815, longitude: -122.50764, zoom: 12)
let mapView = GMSMapView(frame: .zero, camera: camera)
mapView.settings.compassButton = true
      

Objective-C

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:37.757815
                                                        longitude:-122.50764
                                                             zoom:12];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
mapView.settings.compassButton = YES;
      

Schaltfläche „Mein Standort“

Die Schaltfläche „Mein Standort“ wird nur dann rechts unten auf dem Bildschirm angezeigt, wenn sie aktiviert ist. Wenn ein Nutzer auf die Schaltfläche klickt, wird die Kamera animiert, um den aktuellen Standort des Nutzers hervorzuheben, sofern er aktuell bekannt ist. Du kannst die Schaltfläche aktivieren, indem du die Property myLocationButton von GMSUISettings auf YES setzt.

Swift

mapView.settings.myLocationButton = true
      

Objective-C

mapView.settings.myLocationButton = YES;
      

Etagenauswahl

Das Steuerelement für die Etagenauswahl wird rechts unten auf dem Bildschirm angezeigt, wenn eine Indoor-Karte hervorgehoben wird. Wenn zwei oder mehr Indoor-Karten sichtbar sind, bezieht sich die Etagenauswahl auf das Gebäude, das der Bildschirmmitte am nächsten ist. Jedes Gebäude hat eine Standardetage, die ausgewählt wird, wenn die Auswahl zum ersten Mal angezeigt wird. Wenn Sie das Stockwerk ändern möchten, können Sie es über die Stockwerkauswahl auswählen.

Du kannst die Steuerung für die Stockwerkauswahl deaktivieren, indem du die Property indoorPicker von GMSUISettings auf NO setzt.

Swift

mapView.settings.indoorPicker = false
      

Objective-C

mapView.settings.indoorPicker = NO;
      

Touch-Gesten zur Kartensteuerung

Du kannst die Standardbewegungen auf der Karte deaktivieren, indem du Properties der Klasse GMSUISettings festlegst. Diese ist als Attribut von GMSMapView verfügbar. Die folgenden Gesten können programmgesteuert aktiviert bzw. deaktiviert werden. Durch das Deaktivieren der Geste wird der programmatische Zugriff auf die Kameraeinstellungen jedoch nicht eingeschränkt.

  • scrollGestures: Gibt an, ob Scroll-Gesten aktiviert oder deaktiviert sind. Ist die Geste aktiviert, können Benutzer die Kamera durch eine Wischbewegung schwenken.
  • zoomGestures: Legt fest, ob Zoomgesten aktiviert oder deaktiviert sind. Wenn diese Option aktiviert ist, können Nutzer durch Doppeltippen, Zweifingertippen oder Zusammenziehen die Kamera zoomen. Durch Doppeltippen oder Zusammenziehen der Kamera wird die Kamera zum angegebenen Punkt geschwenkt, wenn scrollGestures aktiviert ist.
  • tiltGestures: Gibt an, ob Neigungsbewegungen aktiviert oder deaktiviert sind. Wenn diese Option aktiviert ist, können Nutzer die Kamera mit zwei Fingern nach unten oder oben wischen, um die Kamera zu neigen.
  • rotateGestures: Gibt an, ob Drehbewegungen aktiviert oder deaktiviert sind. Wenn diese Option aktiviert ist, können Nutzer die Kamera mit zwei Fingern drehen.

Im folgenden Beispiel wurden die Gesten zum Schwenken und Vergrößern deaktiviert.

Swift

override func loadView() {
  let camera = GMSCameraPosition.camera(
    withLatitude: 1.285,
    longitude: 103.848,
    zoom: 12
  )

  let mapView = GMSMapView.map(withFrame: .zero, camera: camera)
  mapView.settings.scrollGestures = false
  mapView.settings.zoomGestures = false
  self.view = mapView
}
      

Objective-C

- (void)loadView {
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285
                                                          longitude:103.848
                                                               zoom:12];
  GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  mapView.settings.scrollGestures = NO;
  mapView.settings.zoomGestures = NO;
  self.view = mapView;
}