Steuerelemente und Touch-Gesten

Plattform auswählen: Android iOS JavaScript

Mit dem Maps SDK for iOS können Sie die Art und Weise anpassen, wie Nutzer mit Ihrer Karte interagieren. Dazu legen Sie fest, welche der integrierten UI-Komponenten auf der Karte angezeigt werden 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 mithilfe der Klasse GMSUISettings ein- oder ausschalten. 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 angezeigt wird. Der Kompass wird nur 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 ausgeblendet.

Standardmäßig ist der Kompass deaktiviert. Wenn Sie den Kompass aktivieren möchten, setzen Sie die Eigenschaft compassButton von GMSUISettings auf YES. 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 unten rechts auf dem Bildschirm angezeigt, wenn sie aktiviert ist. Wenn ein Nutzer auf die Schaltfläche klickt, wird die Kamera animiert und fokussiert auf den aktuellen Standort des Nutzers, sofern er aktuell bekannt ist. Du kannst die Schaltfläche aktivieren, indem du das Attribut myLocationButton von GMSUISettings auf YES setzt.

Swift

mapView.settings.myLocationButton = true
      

Objective-C

mapView.settings.myLocationButton = YES;
      

Stockwerkauswahl

Das Steuerelement für die Etagenauswahl wird unten rechts 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 bei der ersten Anzeige der Auswahl ausgewählt wird. Wenn Sie das Stockwerk ändern möchten, können Sie es über die Stockwerkauswahl auswählen.

Sie können das Steuerelement zur Etagenauswahl deaktivieren, indem Sie das Attribut 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 Standardbewegungen für die Karte deaktivieren, indem Sie die Eigenschaften der GMSUISettings-Klasse festlegen. Sie ist als Eigenschaft von GMSMapView verfügbar. Die folgenden Gesten können programmgesteuert aktiviert bzw. deaktiviert werden. Durch das Deaktivieren der Touch-Geste wird der programmatische Zugriff auf die Kameraeinstellungen nicht eingeschränkt.

  • scrollGestures legt fest, ob Scrollbewegungen aktiviert oder deaktiviert sind. Ist die Geste aktiviert, können Benutzer die Kamera durch eine Wischbewegung schwenken.
  • zoomGestures legt fest, ob Touch-Gesten zum Zoomen aktiviert oder deaktiviert sind. Wenn diese Option aktiviert ist, können Nutzer zum Zoomen der Kamera doppeltippen, mit zwei Fingern tippen oder sie auseinander- und zusammenziehen. Wenn scrollGestures aktiviert ist, kann die Kamera durch Doppeltippen oder Auseinander- und Zusammenziehen auf den angegebenen Punkt geschwenkt werden.
  • tiltGestures legt fest, ob Neigebewegungen aktiviert oder deaktiviert sind. Wenn diese Option aktiviert ist, können Nutzer die Kamera neigen, indem sie mit zwei Fingern vertikal nach unten oder oben wischen.
  • rotateGestures legt fest, 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;
}