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