Gérer les points de cheminement

Ce document explique comment gérer les préférences de point de cheminement pour votre application à l'aide de deux fonctionnalités:

  • Préférences concernant les itinéraires routiers par côté de la route
  • Escale

Définir les préférences d'itinéraire du côté de la route

Par défaut, le SDK Navigation pour iOS trouve l'itinéraire le plus rapide vers point de cheminement, mais cela ne garantit pas que l'utilisateur arrivera le côté souhaité de la route, par exemple celui utilisé par un service de partage de course le client attend. Côté de la préférence d'itinéraire de route vous permet de vérifier que le véhicule arrive du bon côté route.

Fonctionnement

Vous définissez une préférence pour l'arrivée d'un côté spécifique de la route lorsque vous créer le point de cheminement vers cet arrêt. Vous pouvez spécifier la préférence de différentes manières.

Privilégier le même côté de la route

Vous indiquez les coordonnées géographiques du point de cheminement, puis vous définissez un indicateur. preferSameSideOfRoad, qui indique que vous préférez arriver au même côté de la route comme point de cheminement, aligné sur le trottoir le plus proche.

(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
                                  title:(NSString *)title
                   preferSameSideOfRoad:(BOOL)preferSameSideOfRoad;

Titre du segment préféré

Vous indiquez les coordonnées géographiques du point de cheminement, arrivée preferredSegmentHeading correspondant au sens de circulation du même côté de la route que vers votre destination.

(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
                                  title:(NSString *)title
                preferredSegmentHeading:(int32_t)preferredSegmentHeading;

Le SDK Navigation choisit la section de route la plus proche du un point de cheminement dont la direction de la voie est alignée (à plus ou moins 55 degrés) du côté de la route où se trouve le point de cheminement.

Définir les préférences en matière d'escales

À certains endroits, les utilisateurs ne peuvent pas s'arrêter en toute sécurité (par exemple, les zones surélevées, les ferries, les souterrains et autres zones l'accès). La fonctionnalité Stopover déplace le point de cheminement vers un lieu à proximité son emplacement n'est pas adapté pour permettre à un utilisateur de faire un arrêt ; Lorsque vous définissez vehicleStopover à YES, le point de cheminement est replacé automatiquement lorsque l'itinéraire est calculé, si un autre lieu est disponible.

Fonctionnement

Vous définissez les préférences d'un arrêt lorsque vous créez le point de cheminement correspondant. Pour ce faire, définissez une préférence de type "escale" sur une GMSNavigationMutableWaypoint, comme illustré dans l'exemple suivant:

Swift

let location = CLLocationCoordinate2D(latitude: 47.67, longitude: -122.20)
let waypoint = GMSNavigationMutableWaypoint(location: location, title: "waypoint from location")!
waypoint.vehicleStopover = true
mapView.navigator?.setDestinations([waypoint], routingOptions: routingOptions, callback: {...})

Objective-C

CLLocationCoordinate2D location = CLLocationCoordinate2DMake(47.67, -122.20);
GMSNavigationMutableWaypoint *waypoint =
    [[GMSNavigationMutableWaypoint alloc] initWithLocation:location
                                                     title:@"waypoint from location"];
waypoint.vehicleStopover = YES;
[_mapView.navigator setDestinations:@[waypoint1]
                     routingOptions:routingOptions
                           callback:^(GMSRouteStatus routeStatus){...}];