Steuerelemente und Touch-Gesten

Plattform auswählen: Android iOS JavaScript

Mit dem Maps SDK for iOS lässt sich anpassen, wie Nutzer mit Ihrer Karte interagieren können. Sie legen damit fest, 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. Die Sichtbarkeit dieser Steuerelemente lässt sich mit der Klasse GMSUISettings aktivieren und deaktivieren. In dieser Klasse vorgenommene Änderungen sind sofort in der Karte sichtbar.

Kompass

Das Maps SDK for iOS bietet eine Kompassgrafik, die unter bestimmten Umständen rechts oben auf der Karte angezeigt wird. Der Kompass wird nur dann angezeigt, wenn die Kamera eine Richtung aufweist, die nicht null ist. Wenn der Nutzer auf den Kompass klickt, kehrt die Kamera an eine Position mit einer Richtung von null zurück (die Standardausrichtung) und der Kompass wird kurz darauf ausgeblendet.

Standardmäßig ist der Kompass deaktiviert. Sie können den Kompass aktivieren, indem Sie das Attribut compassButton von GMSUISettings auf YES festlegen. Es lässt sich 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 rechts unten auf dem Bildschirm nur angezeigt, wenn sie aktiviert ist. Wenn ein Nutzer auf die Schaltfläche klickt, wird die Kamera animiert, um den Fokus auf den aktuellen Standort des Nutzers zu legen, sofern dieser bekannt ist. Sie können die Schaltfläche aktivieren, indem Sie die myLocationButton-Eigenschaft von GMSUISettings auf YES festlegen.

Swift

mapView.settings.myLocationButton = true
      

Objective-C

mapView.settings.myLocationButton = YES;
      

Auswahl des Fußbodens

Die Etagenauswahl wird rechts unten auf dem Bildschirm angezeigt, wenn eine Indoor-Karte gut sichtbar ist. Wenn zwei oder mehr Indoor-Karten sichtbar sind, bezieht sich die Etagenauswahl auf das Gebäude, das sich am nächsten am Bildschirmmittelpunkt befindet. Jedes Gebäude hat eine Standardetage, die beim ersten Anzeigen der Auswahl zu sehen ist. Wenn Sie das Stockwerk ändern möchten, können Sie es über die Stockwerkauswahl auswählen.

Sie können das Steuerelement für die Auswahl des Stockwerks deaktivieren, indem Sie die Eigenschaft indoorPicker von GMSUISettings auf NO setzen.

Swift

mapView.settings.indoorPicker = false
      

Objective-C

mapView.settings.indoorPicker = NO;
      

Touch-Gesten zur Kartensteuerung

Sie können die Standard-Touch-Gesten auf der Karte deaktivieren, indem Sie Eigenschaften der Klasse GMSUISettings festlegen. Diese ist als Eigenschaft der GMSMapView verfügbar. Die folgenden Gesten können programmgesteuert aktiviert bzw. deaktiviert werden. Hinweis: Wenn Sie die Geste deaktivieren, wird der programmatische Zugriff auf die Kameraeinstellungen nicht eingeschränkt.

  • scrollGestures: Hiermit wird festgelegt, ob Scroll-Gesten aktiviert oder deaktiviert sind. Ist die Geste aktiviert, können Benutzer die Kamera durch eine Wischbewegung schwenken.
  • zoomGestures: Hiermit wird festgelegt, ob Zoom-Gesten aktiviert oder deaktiviert sind. Wenn diese Option aktiviert ist, können Nutzer durch Doppeltippen, Tippen mit zwei Fingern oder Ziehen auseinander- und zusammen, um heran- oder herauszuzoomen. Wenn scrollGestures aktiviert ist, kann es passieren, dass die Kamera durch Doppeltippen oder Zusammenziehen des Bildausschnitts auf den angegebenen Punkt schwenken wird.
  • tiltGestures: Hiermit wird festgelegt, ob Neigungsgesten aktiviert oder deaktiviert sind. Wenn diese Option aktiviert ist, können Nutzer die Kamera durch Wischen mit zwei Fingern nach unten oder oben neigen.
  • rotateGestures: Hiermit wird festgelegt, ob Touch-Gesten für Drehbewegungen aktiviert oder deaktiviert sind. Wenn diese Funktion aktiviert ist, können Nutzer die Kamera mit einer Drehgeste 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;
}