Ce document explique comment gérer les préférences de point de repère pour votre application à l'aide de deux fonctionnalités :
- Préférences de routage en fonction du côté de la route
- Escale
Définir une préférence de routage en fonction du côté de la route

Par défaut, le SDK Navigation pour iOS trouve l'itinéraire le plus rapide vers un point de repère. Toutefois, cela ne garantit pas que l'utilisateur arrivera du côté de la route souhaité, par exemple, du côté de la route où attend le client d'un chauffeur de VTC. La fonctionnalité Préférence de routage en fonction du côté de la route vous permet de vous assurer que le véhicule arrive du bon côté de la route.
Fonctionnement
Vous définissez la préférence d'arrivée d'un côté particulier de la route lorsque vous créez le point de repère pour cet arrêt. Vous pouvez spécifier la préférence de deux manières.
Privilégier le même côté de la route
Vous fournissez les coordonnées géographiques du point de repère, puis définissez un indicateur
preferSameSideOfRoad
qui indique que vous préférez arriver du même côté de la route que le
point de repère, en vous arrêtant au trottoir le plus proche.
(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
title:(NSString *)title
preferSameSideOfRoad:(BOOL)preferSameSideOfRoad;
Définir un cap d'arrivée
Vous fournissez les coordonnées géographiques du point de repère, puis un
cap d'arrivée
preferredSegmentHeading
qui correspond au sens de circulation du même côté de la route que la
destination.
(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
title:(NSString *)title
preferredSegmentHeading:(int32_t)preferredSegmentHeading;
Le SDK Navigation choisit le segment de route le plus proche du point de repère, dont le sens de circulation correspond (à +/- 55 degrés) au côté de la route où se trouve le point de repère.
Définir une préférence d'escale
Dans certains endroits, les utilisateurs ne peuvent pas s'arrêter en toute sécurité (par exemple,
dans des zones surélevées, des ferries, des lieux souterrains et d'autres zones à accès limité
). La fonctionnalité Escale déplace le point de repère vers un lieu à proximité si
son emplacement ne convient pas à un arrêt de l'utilisateur. Lorsque vous définissez
vehicleStopover sur YES, le point de repère est automatiquement déplacé lors du calcul de l'itinéraire, si un autre emplacement est disponible.
Fonctionnement
Vous définissez la préférence d'escale lorsque vous créez le point de repère pour cet arrêt.
Pour ce faire, définissez la préférence d'escale sur un
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){...}];