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:
Parameter | Deskripsi |
---|---|
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);