Steuerelemente und Touch-Gesten

Plattform auswählen: Android iOS JavaScript

Mit dem Maps SDK for iOS können Sie festlegen, mit Ihrer Karte interagieren, indem Sie festlegen, 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, ähnlich denen in der Google Maps App für iOS. 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 erscheint. Der Kompass wird nur dann angezeigt, wenn die Kamera eine von null abweichende Ausrichtung aufweist. Wenn der Parameter klickt der Nutzer auf den Kompass, animiert die Kamera zu einer Position mit Null (Standardausrichtung) und der Kompass wird kurz danach ausgeblendet.

Standardmäßig ist der Kompass deaktiviert. Sie können den Kompass aktivieren, indem Sie die Eigenschaft compassButton von GMSUISettings auf YES gesetzt. Sie können jedoch nicht 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 unten rechts auf dem Bildschirm angezeigt. wenn die Schaltfläche "Mein Standort" aktiviert ist. Wenn Nutzende auf die Schaltfläche klicken, Die Kamera wird animiert, um den aktuellen Standort des Nutzers zu fokussieren, wenn dessen Standort ist derzeit bekannt. Sie können die Schaltfläche aktivieren, indem Sie die Eigenschaft myLocationButton von GMSUISettings auf YES gesetzt.

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, Indoor-Karte hervorgehoben wird. Wenn zwei oder mehr Indoor-Karten sichtbar sind, Die Etagenauswahl bezieht sich auf das Gebäude, das der Bildschirmmitte am nächsten liegt. Jedes Gebäude hat eine Standardetage, die in der Auswahl zuerst ausgewählt wird. angezeigt. Wenn Sie das Stockwerk ändern möchten, können Sie es über die Stockwerkauswahl auswählen.

Sie können das Steuerelement für die Etagenauswahl deaktivieren, indem Sie das Attribut indoorPicker festlegen von GMSUISettings bis NO.

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 Eigenschaften der Klasse GMSUISettings, die als Attribut von GMSMapView verfügbar ist. Die folgenden Gesten können programmgesteuert aktiviert bzw. deaktiviert werden. Beachten Sie, dass Durch das Deaktivieren der Touch-Geste wird der programmatische Zugriff auf die Kamera nicht eingeschränkt Einstellungen.

  • scrollGestures: legt fest, ob Scrollbewegungen aktiviert sind deaktiviert. Ist die Geste aktiviert, können Benutzer die Kamera durch eine Wischbewegung schwenken.
  • zoomGestures: steuert, ob Touch-Gesten zum Zoomen aktiviert sind deaktiviert oder deaktiviert ist. Wenn diese Option aktiviert ist, können Nutzer doppeltippen, mit zwei Fingern tippen oder die Finger auseinander- und zusammenziehen, um zoomen Sie die Kamera. Beachten Sie, dass beim scrollGestures doppelt angetippt oder die Finger auseinander- und zusammengezogen werden. aktiviert ist, kann die Kamera auf den angegebenen Punkt geschwenkt werden.
  • tiltGestures: legt fest, ob Touch-Gesten zum Neigen aktiviert sind deaktiviert. Wenn diese Option aktiviert ist, können Nutzer mit zwei Fingern vertikal nach unten oder oben wischen. , um die Kamera zu neigen.
  • rotateGestures: steuert, ob Touch-Gesten zum Drehen aktiviert sind deaktiviert oder deaktiviert ist. Wenn diese Option aktiviert ist, können Nutzer eine Drehbewegung mit zwei Fingern verwenden, um Drehen Sie die Kamera.

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;
}