Mit dem Navigation SDK for iOS können Sie die Nutzererfahrung mit Ihrer Karte anpassen. Sie legen damit fest, welche der integrierten UI-Steuerelemente und ‑Elemente auf der Karte erscheinen und welche Touch-Gesten zulässig sind. Sie können auch das Erscheinungsbild der Navigations-UI ändern. Auf der Seite „Richtlinien“ finden Sie Richtlinien zu zulässigen Änderungen an der Navigations-UI.
UI-Steuerelemente für die Karte
Das Navigation SDK 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 Navigation SDK bietet eine Kompassgrafik, die unter bestimmten Umständen und nur, wenn sie aktiviert ist, oben rechts auf der Karte erscheint. Wenn der Nutzer auf den Kompass tippt, wird die Kamera an eine Position mit Nullrichtung (Standardorientierung) zurückbewegt. Anschließend wird der Kompass ausgeblendet.
Wenn die Navigation aktiviert und der Kameramodus auf „Folgen“ eingestellt ist, bleibt der Kompass sichtbar. Durch Tippen auf den Kompass wird zwischen der geneigten und der Übersichtsperspektive der Kamera gewechselt.
Um den Fahrer nicht abzulenken, bleibt der Kompass an derselben Position, wenn sich die Kopfzeile (im Hochformat) erweitert und mit der Standardposition des Kompasses kollidiert. Wenn Sie ein sekundäres benutzerdefiniertes Steuerelement für die Kopfzeile oder eine Ansicht für Kopfzeilenzubehör hinzufügen, wird der Kompass ausgeblendet, um Konflikte mit der Benutzeroberfläche zu vermeiden.
Der Kompass unterstützt den Tag- und Nachtmodus sowie den dunklen Modus.
Der Kompass ist ab Version 11.0.0 standardmäßig aktiviert. Sie können den Kompass deaktivieren, indem Sie das Attribut compassButton von GMSUISettings auf false setzen.
Swift
mapView.settings.compassButton = false
Objective-C
mapView.settings.compassButton = NO;
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 true setzen.
Swift
mapView.settings.myLocationButton = true
Objective-C
mapView.settings.myLocationButton = YES;
Schaltfläche „Neu zentrieren“
Wenn die Navigation aktiviert ist, wird die Schaltfläche „Neu zentrieren“ angezeigt, wenn der Nutzer in der Kartenansicht scrollt. Sie wird ausgeblendet, wenn der Nutzer auf die Schaltfläche tippt, um die Karte neu zu zentrieren. Damit die Schaltfläche zum Neuzentrieren angezeigt wird, legen Sie die Eigenschaft recenterButtonEnabled von GMSUISettings auf true fest. Wenn Sie verhindern möchten, dass die Schaltfläche „Neu zentrieren“ angezeigt wird, setzen Sie recenterButtonEnabled auf false.
Swift
mapView.settings.isRecenterButtonEnabled = true
Objective-C
mapView.settings.recenterButtonEnabled = YES;
UI-Zubehör für Karten
Das Navigation SDK bietet UI-Zubehör, das während der Navigation angezeigt wird, ähnlich wie in der Google Maps App für iOS. Sie können die Sichtbarkeit oder das Erscheinungsbild dieser Steuerelemente wie in diesem Abschnitt beschrieben anpassen. Änderungen, die Sie hier vornehmen, werden bei der nächsten Fahrt des Nutzers berücksichtigt.
Kopf- und Fußzeile für die Navigation

Während der Navigation wird der Navigationsheader oben auf dem Bildschirm und die Navigationsfußzeile unten angezeigt. In der Navigationsüberschrift werden der Straßenname und die Richtung für die nächste Abbiegung auf der Route sowie die Richtung der darauffolgenden Abbiegung angezeigt. In der Fußzeile der Navigation werden die voraussichtliche Zeit und Entfernung zum Ziel sowie die voraussichtliche Ankunftszeit angezeigt.
Sie können die Sichtbarkeit der Navigationskopf- und -fußzeile ein- und ausschalten und ihre Farben programmatisch mit den folgenden Attributen festlegen:
navigationHeaderEnabled: Legt fest, ob die Navigationsüberschrift sichtbar ist (Standardwert isttrue).navigationFooterEnabled: Gibt an, ob die Navigationsfußzeile sichtbar ist (Standardeinstellung isttrue).navigationHeaderPrimaryBackgroundColor– legt die primäre Hintergrundfarbe für die Navigationskopfzeile fest.navigationHeaderSecondaryBackgroundColor– legt die sekundäre Hintergrundfarbe für den Navigationsheader fest.
Im folgenden Codebeispiel wird gezeigt, wie die Sichtbarkeit für Kopf- und Fußzeile aktiviert und dann navigationHeaderPrimaryBackgroundColor auf Blau und navigationHeaderSecondaryBackgroundColor auf Rot festgelegt wird.
Swift
mapView.settings.isNavigationHeaderEnabled = true
mapView.settings.isNavigationFooterEnabled = true
mapView.settings.navigationHeaderPrimaryBackgroundColor = .blue
mapView.settings.navigationHeaderSecondaryBackgroundColor = .red
Objective-C
mapView.settings.navigationHeaderEnabled = YES;
mapView.settings.navigationFooterEnabled = YES;
mapView.settings.navigationHeaderPrimaryBackgroundColor = [UIColor blueColor];
mapView.settings.navigationHeaderSecondaryBackgroundColor = [UIColor redColor];
Headeransicht für Navigationszubehör
Sie können Ihre App anpassen, indem Sie die sekundäre Navigationsheaderansicht durch Ihre eigene benutzerdefinierte Zubehöransicht ersetzen. Dazu erstellen Sie eine Ansicht, die das GMSNavigationAccessoryView-Protokoll implementiert. Dieses Protokoll hat eine erforderliche Methode: -heightForAccessoryViewConstrainedToSize:onMapView:. Ihnen wird die maximal verfügbare Größe für Ihre Ansicht in der angegebenen „mapView“ zugewiesen und Sie müssen die Höhe angeben, die für Ihre Ansicht erforderlich ist.
Diese Ansicht können Sie dann an die mapView übergeben, indem Sie setHeaderAccessoryView: aufrufen. Die mapView blendet alle aktuellen Ansichten aus und blendet dann Ihre benutzerdefinierte Ansicht ein. Die Navigationsüberschrift muss sichtbar sein, damit Ihre benutzerdefinierte Ansicht angezeigt werden kann.
Wenn Sie die benutzerdefinierte Ansicht für Header-Zubehör entfernen möchten, übergeben Sie nil an setHeaderAccessoryView:.
Wenn sich die Größe der Ansicht jederzeit ändern muss, können Sie invalidateLayoutForAccessoryView: aufrufen und die Ansicht übergeben, deren Größe geändert werden muss.
Beispiel
Das folgende Codebeispiel zeigt eine benutzerdefinierte Ansicht, die das GMSNavigationAccessoryView-Protokoll implementiert. Diese benutzerdefinierte Ansicht wird dann verwendet, um eine benutzerdefinierte Ansicht für den Navigationsheader festzulegen.
Swift
class MyCustomView: UIView, GMSNavigationAccessoryView {
…
func heightForAccessoryViewConstrained(to size: CGSize, on mapView: GMSMapView) -> CGFloat {
// viewHeight gets calculated as the height your view needs.
return viewHeight
}
…
}
let customView = MyCustomView(...)
mapView.setHeaderAccessory(customView)
// At some later point customView changes size.
mapView.invalidateLayout(forAccessoryView: customView)
// Remove the custom header accessory view.
mapView.setHeaderAccessory(nil)
Objective-C
@interface MyCustomView : UIView <GMSNavigationAccessoryView>
…
@end
@implementation MyCustomView
…
- (CGFloat)heightForAccessoryViewConstrainedToSize:(CGSize)size onMapView:(GMSMapView *)mapView {
// viewHeight gets calculated as the height your view needs.
return viewHeight;
}
…
@end
MyCustomView *customView = [[MyCustomView alloc] init…];
[_mapView setHeaderAccessoryView:customView];
// At some later point customView changes size.
[_mapView invalidateLayoutForAccessoryView:customView];
// Remove the custom header accessory view.
[_mapView setHeaderAccessoryView:nil];
Headerfarben im Modus für wenig Licht
Das Navigation SDK for iOS berechnet den empfohlenen Beleuchtungsmodus anhand der Tageszeit und des aktuellen Standorts des Geräts und ruft die Listener-Methode GMSNavigatorListener.didChangeSuggestedLightingMode auf, wenn sich der empfohlene Modus ändert (z. B. bei Sonnenaufgang oder Sonnenuntergang).
Sie können das Verhalten des Modus für wenig Licht programmatisch so ändern:
- Sie können festlegen, wann die Karte den normalen Modus und den Modus für wenig Licht verwendet, indem Sie
GMSMapView.lightingModeauf einenGMSNavigationLightingMode-Wert setzen. Weitere Informationen zum Aktivieren des automatischen Wechsels des Beleuchtungsmodus finden Sie unter Modus für normales und wenig Licht konfigurieren. - Sie können die primäre und sekundäre Hintergrundfarbe des Navigationsheaders im Modus für wenig Licht anpassen, indem Sie die Eigenschaften
navigationHeaderPrimaryBackgroundColorNightModeundnavigationHeaderSecondaryBackgroundColorNightModefürGMSUISettingsfestlegen.
Liste der Wegbeschreibungen
Sie können in Ihrer App eine detaillierte Wegbeschreibung bereitstellen. Das folgende Beispiel zeigt eine Möglichkeit, wie Sie das tun können. Diese Schritte können je nach Implementierung variieren.
- Aktivieren Sie eine Einstiegspunktschaltfläche, nachdem
setDestinationsauf demGMSNavigator(Navigator) erfolgreich abgeschlossen undguidanceActiveauf dem Navigator aktiviert wurde. - Wenn ein Nutzer auf die Einstiegspunkt-Schaltfläche tippt, erstellen Sie einen
GMSNavigationDirectionsListController(Controller) mit dem Navigator, der mit demGMSMapView(mapView) verknüpft ist. - Fügen Sie den Controller einer Instanz von
UIViewController(View Controller) hinzu und fügen Sie diedirectionsListViewals Unteransicht des View Controllers hinzu. Die MethodenreloadDataundinvalidateLayoutdes Controllers sollten wie bei einemUICollectionViewaufgerufen werden. - Verschieben Sie den Ansichts-Controller in die Ansichts-Controller-Hierarchie der App.
Im folgenden Codebeispiel wird das Hinzufügen eines DirectionsListViewController gezeigt.
Swift
override func viewDidLoad() {
super.viewDidLoad()
// Add the directionsListView to the host view controller's view.
let directionsListView = directionsListController.directionsListView
directionsListView.frame = self.view.frame
self.view.addSubview(directionsListView)
directionsListView.translatesAutoresizingMaskIntoConstraints = false
directionsListView.topAnchor.constraint(equalTo: self.view.topAnchor).isActive = true
directionsListView.leadingAnchor.constraint(equalTo: self.view.leadingAnchor).isActive = true
directionsListView.trailingAnchor.constraint(equalTo: self.view.trailingAnchor).isActive = true
directionsListView.bottomAnchor.constraint(equalTo: self.view.bottomAnchor).isActive = true
...
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// Make sure data is fresh when the view appears.
directionsListController.reloadData()
...
}
override func willTransition(to newCollection: UITraitCollection, with coordinator: UIViewControllerTransitionCoordinator) {
super.willTransition(to: newCollection, with: coordinator)
// Invalidate the layout during rotation.
coordinator.animate(alongsideTransition: {_ in
self.directionsListController.invalidateLayout()
})
...
}
Objective-C
- (void)viewDidLoad {
[super viewDidLoad];
// Add the directionsListView to the host view controller's view.
UIView *directionsListView = _directionsListController.directionsListView;
directionsListView.frame = self.view.bounds;
[self.view addSubview:directionsListView];
directionsListView.translatesAutoresizingMaskIntoConstraints = NO;
[directionsListView.topAnchor constraintEqualToAnchor:self.view.topAnchor].active = YES;
[directionsListView.leadingAnchor constraintEqualToAnchor:self.view.leadingAnchor].active = YES;
[directionsListView.trailingAnchor constraintEqualToAnchor:self.view.trailingAnchor].active = YES;
[directionsListView.bottomAnchor constraintEqualToAnchor:self.view.bottomAnchor].active = YES;
...
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
// Make sure data is fresh when the view appears.
[_directionsListController reloadData];
...
}
- (void)willTransitionToTraitCollection:(UITraitCollection *)newCollection
withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
[super willTransitionToTraitCollection:newCollection withTransitionCoordinator:coordinator];
void(^animationBlock)(id <UIViewControllerTransitionCoordinatorContext>context) =
^void(id <UIViewControllerTransitionCoordinatorContext>context) {
[_directionsListController invalidateLayout];
};
// Invalidate the layout during rotation.
[coordinator animateAlongsideTransition:animationBlock
completion:nil];
...
}
...
Fortschrittsanzeige für die Fahrt

Die Fortschrittsanzeige für die Fahrt ist eine vertikale Leiste, die zu Beginn der Navigation auf der Start-/Vorderseite der Karte angezeigt wird. Wenn diese Option aktiviert ist, wird eine Übersicht für die gesamte Fahrt angezeigt, zusammen mit dem Ziel und der aktuellen Position des Nutzers.
So können Nutzer bevorstehende Probleme wie Staus vorhersehen, ohne heranzoomen zu müssen. Die Route kann dann bei Bedarf neu berechnet werden. Wenn der Nutzer die Route ändert, wird die Fortschrittsanzeige zurückgesetzt, als ob ab diesem Punkt eine neue Fahrt begonnen hätte.
In der Fortschrittsanzeige für die Fahrt werden die folgenden Statusindikatoren angezeigt:
Verkehrslage: Der Status der bevorstehenden Verkehrslage.
Aktueller Standort: Der aktuelle Standort des Fahrers während der Fahrt.
Zurückgelegte Route: Der bereits zurückgelegte Teil der Fahrt.
Aktivieren Sie die Fortschrittsanzeige für die Fahrt, indem Sie das Attribut navigationTripProgressBarEnabled in GMSUISettings festlegen.
Swift
mapView.settings.isNavigationTripProgressBarEnabled = true
Objective-C
mapView.settings.navigationTripProgressBarEnabled = YES;
Positionierung der Fortschrittsanzeige für die Fahrt
- Die linke Seite der Leiste ist ungefähr am linken Rand des Tachometers, des Google-Logos und der Schaltfläche „Neu zentrieren“ (falls sichtbar) ausgerichtet. Die Breite beträgt 12 pt.
- Die Fortschrittsanzeige für die Fahrt reagiert dynamisch auf den vertikalen Platz auf dem Bildschirm. Der untere Rand der Leiste befindet sich 210 pt vom unteren Bildschirmrand entfernt. Der obere Rand der Fortschrittsanzeige für die Fahrt bleibt mindestens 170 pt vom oberen Bildschirmrand entfernt. Die maximale Höhe der Leiste beträgt 400 pt.
- Wenn sich die Fortschrittsanzeige der Fahrt mit der Navigationskopfzeile oder anderen UI-Elementen der Navigation überschneidet, wird sie unter diesen anderen Elementen angezeigt.
Prompt Visibility API (experimentell)
Mit der Prompt Visibility API können Sie Konflikte zwischen UI-Elementen, die vom Navigation SDK generiert werden, und Ihren eigenen benutzerdefinierten UI-Elementen vermeiden. Dazu fügen Sie einen Listener hinzu, der einen Callback empfängt, bevor ein UI-Element des Navigation SDK angezeigt wird und sobald das Element entfernt wird. Weitere Informationen, einschließlich Codebeispielen, finden Sie im Abschnitt Prompt Visibility API auf der Seite Echtzeitstörungen konfigurieren.
Tachometer-Steuerung
Wenn die Navigation aktiviert und der Reisemodus auf „Fahren“ festgelegt ist, wird im Navigation SDK für iOS in der unteren Ecke der Karte ein Steuerelement für die Geschwindigkeitsbegrenzung angezeigt, das die aktuelle Geschwindigkeitsbegrenzung angibt. Wenn der Fahrer das Tempolimit überschreitet, wird das Steuerelement maximiert und ein zweiter Tachometer mit der aktuellen Geschwindigkeit des Fahrers angezeigt.
Sie können Warnstufen festlegen, um die Formatierung der Tachometeranzeige zu ändern, wenn der Fahrer das Tempolimit um einen bestimmten Wert überschreitet. Sie können beispielsweise festlegen, dass die aktuelle Geschwindigkeit in roter Textfarbe angezeigt wird, wenn der Fahrer die Geschwindigkeitsbegrenzung um 5 mph überschreitet, und mit einer roten Hintergrundfarbe, wenn der Fahrer die Geschwindigkeitsbegrenzung um 10 mph überschreitet.
Wenn Sie die Geschwindigkeitsbegrenzung anzeigen möchten, setzen Sie die Property shouldDisplaySpeedometer von GMSUISettings auf true. Wenn Sie die Anzeige des Tempolimits deaktivieren möchten, setzen Sie shouldDisplaySpeedometer auf false.
Swift
mapView.settings.shouldDisplaySpeedometer = true
Objective-C
mapView.settings.shouldDisplaySpeedometer = YES;
Weitere Informationen zum Einrichten von Tachometer-Warnungen finden Sie unter Tachometer-Warnungen konfigurieren.
Zielmarkierungen
Sie können die Zielmarkierungen für eine bestimmte Route ein- oder ausblenden, indem Sie die Property showsDestinationMarkers von GMSUISettings festlegen. Im folgenden Beispiel werden die Zielmarkierungen deaktiviert.
Swift
mapView.settings.showsDestinationMarkers = false
Objective-C
mapView.settings.showsDestinationMarkers = NO;
Funktionen für die Kartennutzung
Mit dem Navigation SDK können Sie die Navigation für Ihre Nutzer weiter anpassen. Änderungen, die Sie an Ihrer Instanz vornehmen, werden beim nächsten Update Ihrer App durch den Nutzer übernommen.
Hervorhebung von Zielen und Eingängen
Wenn ein Ziel mit einer placeID erstellt wird, wird das Zielgebäude hervorgehoben und nach Möglichkeit ein Eingangssymbol angezeigt. Diese visuellen Hinweise helfen Nutzern, ihr Ziel zu erkennen und dorthin zu navigieren.
Wenn Sie ein Ziel mit einem placeID erstellen möchten, verwenden Sie einen der GMSNavigationWaypoint-Initialisierer, die einen placeID akzeptieren. Die in der Anleitung zum Navigieren auf einer Route erstellten Ziele enthalten beispielsweise Zielmarkierungen und Eingangslabels, sofern verfügbar.
3D-Gebäude werden während der Navigation angezeigt.
3D-Gebäude werden während der Navigation standardmäßig angezeigt. Wenn Sie diese Funktion deaktivieren möchten, setzen Sie buildingsEnabled auf false (Swift) oder NO (Objective-C).
Standardgesten für die Karte deaktivieren
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. Wenn diese Option aktiviert ist, können Nutzer die Kamera durch Wischen schwenken.zoomGestures: Steuert, ob Zoom-Gesten aktiviert oder deaktiviert sind. Wenn diese Option aktiviert ist, können Nutzer doppeltippen, mit zwei Fingern tippen oder die Finger zusammenziehen, um die Kamera zu zoomen. WennscrollGesturesaktiviert sind, kann die Kamera durch Doppeltippen oder Zoomen mit zwei Fingern auf den angegebenen Punkt geschwenkt werden.tiltGestures: Steuert, ob Neigungsgesten aktiviert oder deaktiviert sind. Wenn diese Option aktiviert ist, können Nutzer die Kamera mit einer vertikalen Wischbewegung 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.
In diesem Beispiel wurden sowohl die Schwenk- als auch die Zoomgeste deaktiviert.
Swift
mapView.settings.scrollGestures = false
mapView.settings.zoomGestures = false
Objective-C
mapView.settings.scrollGestures = NO;
mapView.settings.zoomGestures = NO;
Positionselemente und UI-Elemente
Mit den folgenden Eigenschaften können Sie Steuerelemente und andere UI-Elemente relativ zur Position der Kopf- und Fußzeile der Navigation positionieren:
navigationHeaderLayoutGuidenavigationFooterLayoutGuidebottomTrailingButtonsLayoutGuide
Im folgenden Codebeispiel wird gezeigt, wie Sie mit den Layout-Hilfslinien ein Paar Labels in der Kartenansicht positionieren:
Swift
/* Add a label to the top left, positioned below the header. */
let topLabel = UILabel()
topLabel.text = "Top Left"
mapView.addSubview(topLabel)
topLabel.translatesAutoresizingMaskIntoConstraints = false
topLabel.topAnchor.constraint(equalTo: mapView.navigationHeaderLayoutGuide.bottomAnchor).isActive = true
topLabel.leadingAnchor.constraint(equalTo: mapView.leadingAnchor).isActive = true
/* Add a label to the bottom right, positioned above the footer. */
let bottomLabel = UILabel()
bottomLabel.text = "Bottom Right"
mapView.addSubview(bottomLabel)
bottomLabel.translatesAutoresizingMaskIntoConstraints = false
bottomLabel.bottomAnchor.constraint(equalTo: mapView.navigationFooterLayoutGuide.topAnchor).isActive = true
bottomLabel.trailingAnchor.constraint(equalTo: mapView.trailingAnchor).isActive = true
Objective-C
/* Add a label to the top left, positioned below the header. */
UILabel *topLabel = [[UILabel alloc] init];
topLabel.text = @"Top Left";
[view addSubview:topLabel];
topLabel.translatesAutoresizingMaskIntoConstraints = NO;
[topLabel.topAnchor
constraintEqualToAnchor:mapView.navigationHeaderLayoutGuide.bottomAnchor].active = YES;
[topLabel.leadingAnchor constraintEqualToAnchor:mapView.leadingAnchor].active = YES;
/* Add a label to the bottom right, positioned above the footer. */
UILabel *bottomLabel = [[UILabel alloc] init];
bottomLabel.text = @"Bottom Right";
[view addSubview:bottomLabel];
bottomLabel.translatesAutoresizingMaskIntoConstraints = NO;
[bottomLabel.bottomAnchor
constraintEqualToAnchor:mapView.navigationFooterLayoutGuide.topAnchor].active = YES;
[bottomLabel.trailingAnchor constraintEqualToAnchor:mapView.trailingAnchor].active = YES;
Ein Beispiel für die Verwendung eines bottomTrailingButtonsLayoutGuide, um den Button für die Meldung von Echtzeitstörungen zu positionieren, finden Sie unter Echtzeitstörungen konfigurieren.
Alternative Routen ausblenden
Wenn die Benutzeroberfläche mit zu vielen Informationen überladen ist, können Sie die Unordnung reduzieren, indem Sie weniger alternative Routen als die Standardanzahl (zwei) oder gar keine alternativen Routen anzeigen lassen. Sie können diese Option konfigurieren, bevor Sie die Routen abrufen. Konfigurieren Sie dazu GMSNavigationRoutingOptions und legen Sie für alternateRoutesStrategy einen der folgenden Aufzählungswerte fest:
| Aufzählungswert | Beschreibung |
|---|---|
| GMSNavigationAlternateRoutesStrategyAll | Standard. Zeigt bis zu zwei alternative Routen an. |
| GMSNavigationAlternateRoutesStrategyOne | Zeigt eine alternative Route an (falls verfügbar). |
| GMSNavigationAlternateRoutesStrategyNone | Blendet alternative Routen aus. |
Beispiel
Im folgenden Codebeispiel wird gezeigt, wie Sie alternative Routen vollständig ausblenden.
Swift
let routingOptions = GMSNavigationRoutingOptions(alternateRoutesStrategy: .none)
navigator?.setDestinations(destinations,
routingOptions: routingOptions) { routeStatus in
...
}
Objective-C
GMSNavigationRoutingOptions *routingOptions = [[GMSNavigationRoutingOptions alloc] initWithAlternateRoutesStrategy:GMSNavigationAlternateRoutesStrategyNone];
[navigator setDestinations:destinations
routingOptions:routingOptions
callback:^(GMSRouteStatus routeStatus){...}];