Mit dem Maps SDK for iOS lässt sich anpassen, wie Nutzer mit Ihrer Karte interagieren. Dazu legen Sie 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. Sie können diese Sichtbarkeit mithilfe 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 angezeigt, wenn die Kamera keine Nullrichtung aufweist. Wenn der Nutzer auf den Kompass klickt, wird die Kamera an eine Position mit Nullrichtung (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 die Eigenschaft compassButton
von GMSUISettings
auf YES
setzen. 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, um den aktuellen Standort hervorzuheben, sofern der Standort des Nutzers aktuell bekannt ist. 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;
Stockwerksauswahl
Das Steuerelement für die Bodenauswahl 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 Stockwerkauswahl auf das Gebäude, das der Bildschirmmitte am nächsten ist. Für jedes Gebäude gibt es 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 die Steuerung für die Bodenauswahl 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 Standardbewegungen auf der Karte deaktivieren, indem Sie Attribute der Klasse GMSUISettings
festlegen, die als Attribut von GMSMapView
verfügbar ist.
Die folgenden Gesten können programmgesteuert aktiviert bzw. deaktiviert werden. Wenn Sie die Bewegung deaktivieren, wird der programmatische Zugriff auf die Kameraeinstellungen nicht eingeschränkt.
scrollGestures
: Damit wird festgelegt, ob Scroll-Gesten aktiviert oder deaktiviert sind. Ist die Geste aktiviert, können Benutzer die Kamera durch eine Wischbewegung schwenken.zoomGestures
: Damit wird festgelegt, ob Zoombewegungen aktiviert oder deaktiviert sind. Wenn diese Option aktiviert ist, können Nutzer mit zwei Fingern tippen oder die Finger zusammen- oder auseinanderziehen, um die Kamera heranzuzoomen. WennscrollGestures
aktiviert ist, kann das Doppeltippen oder Zusammenziehen der Kamera auf den angegebenen Punkt geschwenkt werden.tiltGestures
: Damit wird festgelegt, ob Neigungsbewegungen aktiviert oder deaktiviert sind. Wenn diese Option aktiviert ist, können Nutzer die Kamera mit zwei Fingern nach oben oder unten wischen, um sie zu neigen.rotateGestures
: Damit wird festgelegt, ob Drehbewegungen aktiviert oder deaktiviert sind. Wenn die 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; }