Token Rute

Saat Anda menentukan rute terbaik untuk perjalanan transportasi online, rute tercepat mungkin tidak selalu menjadi opsi terbaik. Anda mungkin ingin menyesuaikan rute Anda. Routes Preferred API memungkinkan Anda menyesuaikan rute dengan menentukan tujuan rute menggunakan metode ComputeCustomRoutes.

Saat Anda membuat rute kustom, Routes Preferred API akan menghasilkan token rute. Selanjutnya, Anda dapat meneruskan token ke Navigation SDK for Android dan mengambil rute kustom.

Untuk informasi selengkapnya tentang cara membuat rute kustom, lihat Membuat Rute Kustom.

Mengambil rute kustom

Anda dapat mengambil rute kustom dengan meneruskan token rute ke Navigation SDK for Android menggunakan metode Navigator.setDestinations.

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

Rute kustom menggantikan tujuan yang ditetapkan sebelumnya. Fitur ini menggunakan lokasi awal pengemudi yang sesuai, serta kondisi jalan dan lalu lintas.

Navigator.setDestinations menggunakan parameter berikut:

ParameterDeskripsi
tujuan Daftar tujuan baru yang akan ditetapkan.
customRoutesOptions Opsi yang akan digunakan untuk mengambil rute yang telah dihitung sebelumnya, berdasarkan token yang ditampilkan oleh Routes Preferred API.
displayOptions Opsi yang akan digunakan untuk menampilkan rute.

Metode Navigator.setDestinations akan menampilkan status permintaan. Jika ditemukan dari lokasi pengguna ke tujuan yang ditentukan, rute akan menampilkan RouteStatus.OK.

Contoh

Contoh kode berikut menunjukkan cara mengambil rute kustom.

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);