Mit dem Maps SDK for iOS lässt sich anpassen, wie Nutzer mit Ihrer Karte interagieren, indem Sie festlegen, 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 for iOS App ähneln. Sie können die Sichtbarkeit dieser Steuerelemente mithilfe der Klasse GMSUISettings
ändern.
In dieser Klasse vorgenommene Änderungen sind sofort in der Karte sichtbar.
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 so ausgerichtet ist, dass die Peilung ungleich null ist. Wenn der Nutzer auf den Kompass klickt, wird die Kamera an eine Position mit Nullrichtung (Standardausrichtung) zurückbewegt und der Kompass wird kurz darauf 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 rechts unten auf dem Bildschirm angezeigt, wenn sie aktiviert ist. Wenn ein Nutzer auf die Schaltfläche klickt, wird die Kamera animiert und fokussiert den aktuellen Standort des Nutzers, sofern dessen Standort 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;
Etagenauswahl
Das Steuerelement für die Stockwerkauswahl 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 Mitte des Bildschirms 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.
Sie können das Steuerelement für die Etagenauswahl 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 GMSUISettings
-Klasse festlegen, die als Eigenschaft der GMSMapView
verfügbar ist.
Die folgenden Gesten können programmgesteuert aktiviert bzw. deaktiviert werden. Durch das Deaktivieren der 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 Zoombewegungen aktiviert oder deaktiviert sind. Wenn diese Option aktiviert ist, können Nutzer zum Zoomen der Kamera doppeltippen, mit zwei Fingern tippen oder die Finger auseinander- und zusammenziehen. WennscrollGestures
aktiviert ist, wird die Kamera durch Doppeltippen oder Zusammenziehen der Finger auf den angegebenen Punkt geschwenkt.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 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 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; }