Itinéraire vers les points de navigation

Le SDK Navigation pour iOS offre des moyens améliorés de spécifier des waypoints, ce qui permet d'obtenir un routage plus précis et une meilleure expérience d'arrivée, en particulier pour les destinations avec plusieurs entrées ou points d'accès spécifiques. Vous pouvez définir des itinéraires vers des lieux précis à l'aide d'un navigationPointToken ou en combinant des coordonnées géographiques avec un identifiant de lieu pour plus de contexte.

La mise en surbrillance de la destination continuera d'être effectuée, le cas échéant.

Arrière-plan

Avant la version 10.10, vous pouviez définir un Waypoint à l'aide de coordonnées géographiques ou d'un ID de lieu. Bien que parfois efficace, le routage uniquement vers une latitude et une longitude peut parfois entraîner des points de dépôt ou de prise en charge non optimaux, en particulier pour les grands lieux, les parcs ou les bâtiments avec plusieurs entrées. Le résultat peut être associé au segment de route le plus proche, qui n'est pas forcément le point d'accès le plus pratique ou le plus correct.

Les options de points de cheminement améliorées permettent de résoudre ce problème en vous permettant de fournir plus de contexte.

Utiliser un jeton de point de navigation

Pour obtenir un itinéraire plus précis vers des points d'accès spécifiques tels que des entrées, des quais de chargement ou des zones de dépose désignées, vous pouvez utiliser un navigationPointToken.

Ce jeton est obtenu en appelant la méthode Destinations de l'API Geocoding. Il représente un point de navigation spécifique et routable associé à un lieu.

Pour spécifier un jeton de point de navigation :

  1. Obtenez un navigationPointToken à partir de la réponse de la méthode Destinations de l'API Geocoding.

  2. Spécifiez navigationPointToken lorsque vous créez un GMSNavigationWaypoint.

Remarque : Vous ne pouvez pas spécifier simultanément un jeton de point de navigation avec une position et un PlaceID.

Swift

// Create a waypoint using a navigation endpoint token
let waypointTwo = GMSNavigationWaypoint(
  navigationPointToken: "ChIJALijSXPhQkARHmIozCCbXsASEgkFVjYHGH6PgBFrbM7wl3.."
  title: "Sydney Opera House")

// Route to the waypoint
navigator.setDestinations([waypointTwo]) { [weak self] routeStatus in
   self?.handleRouteCallback(status: routeStatus)
}

Objective-C

GMSNavigationWaypoint *waypointTwo = [[GMSNavigationWaypoint alloc] initWithNavigationPointToek:@"sampleNavigationPointToken"

Combiner l'ID de lieu et la localisation

À partir de la version 10.10, vous pouvez fournir à la fois un ID de lieu et des coordonnées géographiques lorsque vous créez un point de repère. Cette méthode est utile lorsque vous souhaitez spécifier un point précis (l'emplacement) tout en fournissant le contexte du lieu global (l'ID du lieu). Cela permet au SDK Navigation de proposer une expérience d'arrivée plus riche en mettant en évidence le bâtiment de destination ou en affichant les points d'intérêt à proximité associés à l'ID du lieu.

Swift

// Create a waypoint using both the latlng and placeID
let waypoint = GMSNavigationWaypoint(
  location: CLLocationCoordinate2DMake(-33.85657945261524, 151.21535034203333),  
  placeID: "ChIJ3S-JXmauEmsRUcIaWtf4MzE",
  title: "Sydney Opera House")

// Route to the waypoint
navigator.setDestinations([waypoint]) { [weak self] routeStatus in
   self?.handleRouteCallback(status: routeStatus)
}

Objective-C

CLLocationCoordinate2D location = CLLocationCoordinate2DMake(47.67, -122.20);
GMSNavigationWaypoint *waypoint = [[GMSNavigationWaypoint alloc] initWithLocation:placeID:coordinate title:@"waypoint from location and placeiD"];

Remarques :

Lorsque vous fournissez placeID et location :

  • L'itinéraire cible principalement le location spécifié.
  • Le placeId est utilisé comme contexte pour améliorer l'expérience à l'arrivée.
  • Solution de repli : si le SDK détermine que le placeId fourni correspond à une fonctionnalité trop éloignée du location donné, le placeId sera ignoré. Dans ce cas, le routage ne s'effectuera que vers le location, et les améliorations de l'expérience d'arrivée spécifiques au lieu ne seront pas disponibles.

Récapitulatif des configurations de points de repère valides

Spécification location placeID navigationPointToken Comportement du routage Mise en évidence de la destination
Coordonnées du lieu uniquement set manquantes manquantes Redirige vers le segment de route le plus proche des coordonnées définies Affiché si la destination peut être déduite avec un degré de confiance élevé
ID de lieu uniquement manquantes set manquantes Itinéraires vers le point de navigation par défaut pour l'ID de lieu ID du lieu de départ
Jeton de point de navigation uniquement manquantes manquantes set Itinéraires vers le point de navigation précis représenté par le jeton À partir de la destination définie dans la requête destinations method of the Geocoding API d'origine
Coordonnées géographiques et ID de lieu combinés se set manquantes Redirige vers le segment de route le plus proche des coordonnées définies À partir de l'ID de lieu (non affiché si l'ID de lieu est trop éloigné des coordonnées de latitude/longitude)