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 mit einer Animation an eine Position mit Nullrichtung, d. h. der Standardausrichtung, zurückbewegt und der Kompass wird anschließend allmählich ausgeblendet.
Standardmäßig ist der Kompass deaktiviert. Sie können den Kompass aktivieren, indem Sie das compassButton
-Attribut 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 nur dann rechts unten auf dem Bildschirm angezeigt, wenn die Schaltfläche „Mein Standort“ aktiviert ist. Wenn ein Nutzer auf die Schaltfläche klickt, richtet sich die Kamera auf den aktuellen Standort des Nutzers aus, sofern dieser bekannt ist. Sie können die Schaltfläche aktivieren, indem Sie die myLocationButton
-Eigenschaft von GMSUISettings
auf YES
setzen.
Swift
mapView.settings.myLocationButton = true
Objective-C
mapView.settings.myLocationButton = YES;
Auswahl des Fußbodens
Die Etagenauswahl wird unten rechts auf dem Bildschirm angezeigt, wenn eine Indoor-Karte gut sichtbar ist. Wenn zwei oder mehr Indoor-Karten sichtbar sind, bezieht sich die Auswahl der Etage auf das Gebäude, das sich am nächsten zur Bildschirmmitte 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 indoorPicker
-Eigenschaft 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. 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. WennscrollGestures
aktiviert ist, kann es passieren, dass die Kamera beim Doppeltippen oder Auseinander- und Zusammenziehen auf den angegebenen Punkt schwenkt.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
: Steuert, ob Touch-Gesten für Drehbewegungen aktiviert oder deaktiviert sind. Wenn diese Option aktiviert ist, können Nutzer die Kamera mit einer Drehung 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; }