Routingeinstellungen anpassen

Bei Routenberechnungen (einschließlich Umleitungen) wird die Route mit der kürzesten Fahrzeit als Standardroute zurückgegeben. Sie können die Routingstrategie jedoch so ändern, dass stattdessen die kürzeste der Routenalternativen zurückgegeben wird.

Der Begriff kürzer bezieht sich auf die Route, die gemäß unserem Standardkostenmodell die kürzeste unter den optimalen Routen ist. Die kürzere Route ist möglicherweise nicht die absolute kürzeste Route, da diese Option möglicherweise keine gute Alternative ist. Wenn die kürzeste Route beispielsweise 10 km lang ist und 50 Minuten dauert, während eine andere Route 15 km lang ist, aber nur 20 Minuten dauert, ist die zweite Option optimal, da 30 Minuten Zeitersparnis bei einer Verkürzung von 5 km nicht sinnvoll ist.

Nachdem Sie die Routenstrategie für eine Fahrt festgelegt haben, ändert sie sich erst, wenn die Fahrt beendet ist. Wenn Sie die Routingstrategie für eine Fahrt ändern möchten, müssen Sie die Ziele löschen und sie mit der neuen Routingstrategie neu festlegen.

Routendetails abrufen

Wenn Sie herausfinden möchten, welche Routenstrategie für einen bestimmten Wegpunkt die beste ist, rufen Sie getRouteInfoForDestination() auf, um Routendetails sowohl für die standardmäßig beste Route als auch für die absolut kürzeste Route zu erhalten. Zu den Details gehören die Dauer und die Entfernung zu einem Ziel-Wegpunkt.

Diese Details stammen aus GMSNavigationRouteInfo im Callback.

Beispiel

Im folgenden Codebeispiel wird gezeigt, wie Sie Routendetails für jede der beiden Routingstrategien abrufen.

Swift

let routingOptions = GMSNavigationRoutingOptions()
navigator?.getRouteInfoForDestination(destination,
                                      routingOptions: routingOptions) { routeInfo in
  ...
}

Objective-C

GMSNavigationRoutingOptions *routingOptions =
    [[GMSNavigationRoutingOptions alloc] init];
[navigator getRouteInfoForDestination:destination
                   withRoutingOptions:routingOptions
                             callback:^(GMSNavigationRouteInfo *routeInfo){...}];

Routingstrategie festlegen

Sie können die Routingstrategie mit GMSNavigationRoutingOptions konfigurieren und routingStrategy beim Aufruf von setDestinations() festlegen.

routingStrategy kann einen der folgenden Werte haben:

AufzählungswertBeschreibung
GMSNavigationRoutingStrategyDefaultBest Hier werden Routen nach dem Standardkostenmodell des Navigation SDKs sortiert. Dies ist die Standard-Routing-Strategie.
GMSNavigationRoutingStrategyShorter Sortiert Routen nach Entfernung. Die Route mit dem höchsten Rang ist die kürzeste der zurückgegebenen Routen.

Beispiel

Im folgenden Codebeispiel wird gezeigt, wie Sie die Routingstrategie für die kürzeste Route festlegen.

Swift

let routingOptions = GMSNavigationRoutingOptions(routingStrategy: .shorter)
navigator?.setDestinations(destinations,
                           routingOptions: routingOptions) { routeStatus in
  ...
}

Objective-C

GMSNavigationRoutingOptions *routingOptions = [[GMSNavigationRoutingOptions alloc] initWithRoutingStrategy:GMSNavigationRoutingStrategyShorter];
[navigator setDestinations:destinations
            routingOptions:routingOptions
                  callback:^(GMSRouteStatus routeStatus){...}];

Routen mit Fähren

Im Navigation SDK for iOS sind standardmäßig keine Routen mit Fähren enthalten. Wenn Sie Fähroptionen in Ihre Routen aufnehmen möchten, können Sie diese Einstellung für die Routenplanung anpassen, damit die Fahrt Fährabschnitte enthält. Legen Sie dazu avoidsFerries auf false fest.

Beispiel

Swift

self.mapView.navigator?.avoidsFerries = false

Objective-C

self.mapView.navigator.avoidsFerries = NO

Das Format der Zusatzinformationen zur Route

Bei der kürzesten Routenstrategie werden in Zusatzinformationen entlang der Route Entfernungsdetails angezeigt. Sie können stattdessen die Zusatzinformationen zur geschätzten Ankunftszeit verwenden.

Format für Zusatzinformationen zu Routen konfigurieren

Sie können das Format der Zusatzinformationen für Routen ändern, indem Sie routeCalloutFormat in GMSMapView festlegen. routeCalloutFormat kann einen der folgenden Werte annehmen:

AufzählungswertBeschreibung
GMSNavigationRouteCalloutFormatDefault Zeigt die verbleibende Zeit an, wenn die Standard-Routingstrategie „Bester Pfad“ verwendet wird. Die verbleibende Entfernung bei Verwendung der kürzesten Route
GMSNavigationRouteCalloutFormatTime Die verbleibende Zeit.
GMSNavigationRouteCalloutFormatDistance DDie verbleibende Strecke.

Beispiel

Das folgende Codebeispiel zeigt, wie das Format der Zusatzinformationen für eine Route konfiguriert wird.

Swift

self.mapView.routeCalloutFormat = .time

Objective-C

_mapView.routeCalloutFormat = GMSNavigationRouteCalloutFormatTime;