Bei der Routenberechnung (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. Der kürzere Weg ist möglicherweise nicht der absolute kürzeste Weg, 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 Routingstrategie für eine Fahrt festgelegt haben, ändert sie sich erst, wenn die Fahrt beendet ist. Wenn Sie die Routingstrategie für eine vorhandene 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 am besten geeignet ist, rufen Sie getRouteInfoForDestination()
auf, um Routendetails für die standardmäßige beste Route und die absolut kürzeste Route zu erhalten. Zu den Details gehören die Dauer und die Entfernung zu einem Zielwegpunkt.
Diese Details stammen aus GMSNavigationRouteInfo
im Rückruf.
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 routingStrategy
beim Aufrufen von setDestinations()
festlegen.
routingStrategy
kann einen der folgenden Werte haben:
Aufzählungswert | Beschreibung |
---|---|
GMSNavigationRoutingStrategyDefaultBest | Routen werden nach dem Standardkostenmodell des Navigation SDKs sortiert. Das 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
Das folgende Codebeispiel zeigt, 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 Routingeinstellung 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 Routen-Routing-Strategie 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
auf GMSMapView
festlegen. routeCalloutFormat
kann einen der folgenden Werte haben:
Aufzählungswert | Beschreibung |
---|---|
GMSNavigationRouteCalloutFormatDefault | Zeigt die verbleibende Zeit an, wenn die Standard-Routing-Strategie „Beste Route“ verwendet wird. Die verbleibende Entfernung bei Verwendung der kürzesten Route |
GMSNavigationRouteCalloutFormatTime | Zeigt die verbleibende Zeit an. |
GMSNavigationRouteCalloutFormatDistance | Zeigt die verbleibende Strecke an. |
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;