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 oben rechts auf der Karte erscheint. Der Kompass wird nur dann angezeigt, wenn die Kamera eine von null abweichende Ausrichtung aufweist. Wenn der Nutzer auf den Kompass klickt, wird die Kamera an eine Position mit Nullrichtung (Standardorientierung) zurückbewegt. Anschließend wird der Kompass ausgeblendet.

Standardmäßig ist der Kompass deaktiviert. Sie können den Kompass aktivieren, indem Sie das Attribut compassButton von GMSUISettings auf YES setzen. 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 options = GMSMapViewOptions()
options.camera = camera
let mapView = GMSMapView(options: options)
mapView.settings.compassButton = true
      

Objective-C

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:37.757815
                                                        longitude:-122.50764
                                                             zoom:12];
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
options.camera = camera;
GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
mapView.settings.compassButton = YES;
      

Button „Mein Standort“

Der Button „Mein Standort“ wird nur dann unten rechts auf dem Bildschirm angezeigt, wenn er aktiviert ist. Wenn der Nutzer auf den Button klickt, wird die Kamera so bewegt, dass der aktuelle Standort des Nutzers, sofern bekannt, in den Fokus rückt. Sie können die Schaltfläche aktivieren, indem Sie das Attribut myLocationButton von GMSUISettings auf YES setzen.

Swift

mapView.settings.myLocationButton = true
      

Objective-C

mapView.settings.myLocationButton = YES;
      

Stockwerkauswahl

Die Etagenauswahl wird unten rechts auf dem Bildschirm angezeigt, wenn eine Indoor-Karte im Vordergrund zu sehen ist. Wenn zwei oder mehr Indoor-Karten sichtbar sind, bezieht sich die Etagenauswahl auf das Gebäude, das sich am nächsten zur Bildschirmmitte befindet. Jedes Gebäude hat eine Standardebene, 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 die Ebenenauswahl 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 Standardgesten auf der Karte deaktivieren, indem Sie Eigenschaften der Klasse GMSUISettings festlegen, die als Eigenschaft von GMSMapView verfügbar ist. Die folgenden Gesten können programmgesteuert aktiviert bzw. deaktiviert werden. Das Deaktivieren der Touch-Geste schränkt den programmatischen Zugriff auf die Kameraeinstellungen nicht ein.

  • scrollGestures: Steuert, ob Scroll-Gesten aktiviert oder deaktiviert sind. Ist die Geste aktiviert, können Benutzer die Kamera durch eine Wischbewegung schwenken.
  • zoomGestures: Steuert, ob Zoom-Gesten aktiviert oder deaktiviert sind. Wenn diese Option aktiviert ist, können Nutzer die Kamera durch Doppeltippen, Tippen mit zwei Fingern oder Zoomen mit zwei Fingern heranzoomen. Wenn scrollGestures aktiviert ist, kann die Kamera durch Doppeltippen oder Ziehen mit zwei Fingern auf den angegebenen Punkt geschwenkt werden.
  • tiltGestures: Legt fest, ob Neigungsgesten aktiviert oder deaktiviert sind. Wenn diese Option aktiviert ist, können Nutzer die Kamera durch vertikales Wischen mit zwei Fingern nach unten oder oben neigen.
  • rotateGestures: Steuert, ob Drehgesten aktiviert oder deaktiviert sind. Wenn diese Option aktiviert ist, können Nutzer die Kamera mit einer Drehbewegung 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 options = GMSMapViewOptions()
  options.camera = camera
  let mapView = GMSMapView(options: options)
  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];
  GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
  options.camera = camera;
  GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
  mapView.settings.scrollGestures = NO;
  mapView.settings.zoomGestures = NO;
  self.view = mapView;
}