경로 토큰

차량 공유 여행을 위한 최적의 경로를 결정할 때 가장 빠른 경로가 항상 최적의 옵션이 아닐 수 있습니다. 경로를 맞춤설정할 수도 있습니다. Routes Preferred API를 사용하면 ComputeCustomRoutes 메서드로 경로 목표를 지정하여 경로를 맞춤설정할 수 있습니다.

커스텀 경로를 만들면 Routes Preferred API가 경로 토큰을 생성합니다. 그러면 토큰을 Android용 Navigation SDK에 전달하고 커스텀 경로를 가져올 수 있습니다.

커스텀 경로를 만드는 방법에 대한 자세한 내용은 커스텀 경로 만들기를 참조하세요.

커스텀 경로 검색

Navigator.setDestinations 메서드를 사용하여 Android용 Navigation SDK에 경로 토큰을 전달하여 커스텀 경로를 검색할 수 있습니다.

setDestinations(List<Waypoint> destinations, CustomRoutesOptions customRoutesOptions, DisplayOptions displayOptions);

커스텀 경로는 이전에 설정된 모든 목적지를 재정의합니다. 해당하는 운전자 출발 위치와 도로 및 교통 상황을 사용합니다.

Navigator.setDestinations는 다음 매개변수를 사용합니다.

파라미터설명
대상 설정할 새 대상 목록입니다.
customRoutesOptions Routes Preferred API에서 반환된 토큰을 기준으로 미리 계산된 경로를 검색하는 데 사용되는 옵션입니다.
displayOptions 경로를 표시하는 데 사용할 옵션입니다.

Navigator.setDestinations 메서드는 요청 상태를 반환합니다. 사용자의 위치에서 지정된 목적지까지의 경로를 찾으면 RouteStatus.OK이 반환됩니다.

예시

다음 코드 예에서는 커스텀 경로를 검색하는 방법을 보여줍니다.

ArrayList <Waypoint> destinations = Lists.newArrayList();
Waypoint waypoint1 =
   Waypoint.builder()
      .setLatLng(10, 20)
      .setTitle("title")
      .setVehicleStopover(true)
      .build();
destinations.add(waypoint1);
Waypoint waypoint2 =
   Waypoint.builder()
      .setPlaceId("ChIJYV-J-ziuEmsRIMyoFaMedU4")
      .setTitle("title")
      .setVehicleStopover(true)
       .build()
destinations.add(waypoint2);

String routeToken = "route token returned by RoutesPreferred API";

CustomRoutesOptions customRoutesOptions =
   CustomRoutesOptions.builder()
      .setRouteToken(routeToken)
      .setTravelMode(CustomRoutesOptions.TravelMode.TWO_WHEELER)
      .build();

// Existing flow to get a Navigator.
NavigationApi.getNavigator(...);
// Existing flow for requesting routes.
ListenableResultFuture<RouteStatus> routeStatusFuture =
          navigator.setDestinations(destinations, customRoutesOptions);

// Or with display options.
DisplayOptions displayOptions = new DisplayOptions();

ListenableResultFuture<RouteStatus> routeStatusFuture =
          navigator.setDestinations(destinations, customRoutesOptions, displayOptions);