Routingeinstellungen anpassen

Bei Routenberechnungen (einschließlich Neuberechnung von Routen) wird die Route, die am wenigsten Zeit zum Navigieren benötigt, als beste Standardroute zurückgegeben. Sie können jedoch die Routingstrategie so ändern, dass stattdessen die kürzere der alternativen Routen zurückgegeben wird.

Der Begriff kürzer bezeichnet 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 eine schlechte Alternative sein könnte. Wenn beispielsweise die absolut kürzeste Route 10 km ist und 50 Minuten für die Navigation benötigt wird und eine andere 15 km, aber nur 20 Minuten zum Navigieren dauert, ist die zweite Wahl optimal, da 30 Minuten zur Reduzierung von 5 km kein guter Kompromiss sind.

Wenn Sie die Routenstrategie für eine Fahrt festgelegt haben, ändert sie sich erst nach Abschluss der Fahrt. Wenn Sie die Routingstrategie für eine vorhandene Fahrt ändern möchten, müssen Sie die Ziele löschen und mit der neuen Routingstrategie wieder zurücksetzen.

Routendetails werden abgerufen

Wenn Sie herausfinden möchten, welche Routenstrategie die optimale Wahl für einen bestimmten Wegpunkt ist, rufen Sie getRouteInfoForDestination() auf. Dadurch erhalten Sie Routendetails sowohl für die beste Standardroute als auch für die absolut kürzere Route. Dazu gehören die Dauer und die Entfernung zu einem Ziel-Wegpunkt.

Diese Details stammen aus GMSNavigationRouteInfo im Callback.

Beispiel

Das folgende Codebeispiel zeigt, 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 die routingStrategy beim Aufrufen von setDestinations() festlegen.

routingStrategy verwendet einen der folgenden Aufzählungswerte:

AufzählungswertBeschreibung
GMSNavigationRoutingStrategyDefaultBest Stuft Routen nach dem Standardkostenmodell des Navigation SDK ein. Dies ist die Standardrouting-Strategie.
GMSNavigationRoutingStrategyShorter Routen werden nach Entfernung sortiert. Die Route mit dem höchsten Rang ist die kürzeste zurückgegebene Route.

Beispiel

Das folgende Codebeispiel zeigt, wie die kürzere Routingstrategie festgelegt wird.

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

Standardmäßig schließt das Navigation SDK for iOS Routen aus, die Fähren enthalten. Wenn Sie Fähroptionen in Ihre Routen einbeziehen möchten, können Sie diese Routeneinstellungen so anpassen, dass die Fahrt für Fährsegmente sichtbar ist. Setzen Sie dazu avoidsFerries auf false.

Beispiel

Swift

self.mapView.navigator?.avoidsFerries = false

Objective-C

self.mapView.navigator.avoidsFerries = NO

Format der Zusatzinformationen für Routen

Bei der kürzeren Routenroute werden in den Zusatzinformationen entlang der Route Entfernungsdetails angezeigt. Sie können aber stattdessen Zusatzinformationen für erweiterte Textanzeigen verwenden.

Format des Routen-Callouts konfigurieren

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

AufzählungswertBeschreibung
GMSNavigationRouteCalloutFormatDefault Zeigt die verbleibende Zeit an, wenn die standardmäßige Strategie für die beste Routenroute verwendet wird. Zeigt die verbleibende Entfernung bei Verwendung der Routenstrategie mit kürzeren Routen an
GMSNavigationRouteCalloutFormatTime Zeigt die verbleibende Zeit an.
GMSNavigationRouteCalloutFormatDistance Zeigt die verbleibende Entfernung an.

Beispiel

Im folgenden Codebeispiel wird gezeigt, wie das Format des Routen-Callouts konfiguriert wird.

Swift

self.mapView.routeCalloutFormat = .time

Objective-C

_mapView.routeCalloutFormat = GMSNavigationRouteCalloutFormatTime;