Token Rute

Saat Anda menentukan rute terbaik untuk perjalanan transportasi online, rute tercepat mungkin tidak selalu menjadi pilihan terbaik. Anda mungkin perlu menyesuaikan rute. 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. Kemudian, Anda dapat meneruskan token ke Navigation SDK untuk Android dan mengambil rute kustom.

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

Mengambil rute kustom

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

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

Rute kustom mengganti tujuan yang ditetapkan sebelumnya. Peta 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 diprakomputasi, berdasarkan token yang ditampilkan oleh Routes Preferred API.
displayOptions Opsi yang akan digunakan untuk menampilkan rute.

Metode Navigator.setDestinations akan menampilkan status permintaan. Jika rute ditemukan dari lokasi pengguna ke tujuan yang ditentukan, rute tersebut 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);