Terkadang, Anda mungkin ingin merencanakan rute yang disediakan aplikasi kepada pengguna. Menggunakan token rute dari Routes API, Routes Preferred API, atau Route Optimization API dapat membantu menentukan dua hal untuk rute yang Anda rencanakan:
Polyline untuk rute
Tujuan rute Anda
Misalnya, berikut beberapa contoh tujuan pemilihan rute yang mungkin Anda miliki:
Minimalkan waktu pengiriman: Bisnis yang mengirimkan makanan mungkin ingin meminimalkan waktu yang diperlukan untuk mengirimkan makanan.
Meminimalkan waktu perjalanan atau konsumsi bahan bakar: Bisnis logistik mungkin ingin meningkatkan efisiensi pengemudi dan mengurangi biaya bahan bakar mereka.
Minimalkan waktu ke tujuan: Operasi pengiriman layanan mungkin ingin meminimalkan waktu yang diperlukan untuk mengarahkan operator ke permintaan tugas.
Menurunkan biaya dan meningkatkan keamanan: Bisnis transportasi online mungkin ingin menemukan rute yang lebih murah bagi penumpang dan menghindari area tertentu demi keselamatan alasan.
Untuk informasi selengkapnya tentang perencanaan rute menggunakan token rute, lihat Meminta token rute di Routes API dan Transition Polylines dan Route Token di Route Optimization API.
Alasan menggunakan token rute untuk tujuan rute
Dengan token rute dari Routes API, Routes Preferred API, atau Route Optimization API, Anda memiliki kontrol lebih besar atas rute yang disediakan:
Rencanakan rute terlebih dahulu untuk digunakan Navigation SDK jika memungkinkan.
Pilih rute terbaik yang akan digunakan Navigation SDK. Jika Anda meminta token rute saat membuat rute di Routes API, Anda mendapatkan token rute untuk setiap rute yang dihasilkan. Anda kemudian dapat memilih untuk rute yang ingin Anda gunakan saat meneruskannya ke Navigation SDK.
Perkirakan harga di muka, termasuk perkiraan untuk PWT dan jarak. Meskipun biaya dan waktu sebenarnya dapat bervariasi, estimasi ini mengurangi kesenjangan antara biaya rute yang diharapkan dan yang sebenarnya.
Tentukan tujuan rute lanjutan lainnya, seperti pemilihan rute hemat energi atau rute terpendek.
Cara kerja token rute
Anda dapat menggunakan Routes API, Routes Preferred API, atau Route Optimization API untuk merencanakan rute menggunakan tujuan rute. Anda dapat meneruskan token rute yang ditampilkan dari API ini ke Navigation SDK untuk memandu cara mengarahkan kendaraan Anda.
Inilah yang terjadi saat Anda meminta dan menggunakan token rute:
Routes API, Routes Preferred API, atau Route Optimization API menampilkan token rute terenkripsi yang berisi polyline rute dan tujuan rute.
Anda meneruskan token rute ke Navigation SDK.
Navigation SDK mengambil rute, atau jika rute tidak tersedia karena kondisi yang berubah, SDK akan mengambil rute yang paling cocok.
Saat mengemudi di rute, jika lalu lintas atau kondisi jalan lainnya berubah, atau jika kendaraan menyimpang dari rute yang direncanakan, rute yang diubah akan terus mencoba mencocokkan rute terbaik berdasarkan tujuan rute dalam token.
Proses ini memaksimalkan seberapa dekat rute sebenarnya dengan rute yang Anda rencanakan.
Mengapa rute yang direncanakan tidak dapat diikuti dengan tepat
Pikirkan rute dan tujuan rute yang direncanakan sebagai panduan yang harus diikuti: keduanya tidak bersifat preskriptif. Anda mungkin melihat perbedaan antara rute yang direncanakan dan rute yang disediakan dengan panduan navigasi karena adanya perbedaan jalan lokasi awal, atau parameter lain yang telah berubah sejak Anda membuat rute yang direncanakan. Perbedaan ini dapat mengakibatkan ketidaksesuaian antara sasaran yang direncanakan maupun yang sebenarnya untuk jarak dan PWT, di antara perjalanan penting lainnya kualitas.
Merencanakan rute menggunakan token rute
Anda bisa merencanakan rute dengan membuat token rute, lalu meneruskannya ke Navigation SDK, seperti yang dijelaskan dalam langkah-langkah berikut:
Langkah 1: Buat token rute menggunakan Routes API, Routes Preferred API, atau Route Optimization API
Minta token rute dengan salah satu metode berikut:
Routes API:
computeRoutes
. Untuk informasi selengkapnya tentang meminta token rute di Routes API, lihat Hitung rute dan Request a route akun Anda.Routes Preferred API:
computeCustomRoutes
. Untuk selengkapnya informasi tentang permintaan token rute dalam Routes Preferred API, lihat Merencanakan rute.Route Optimization API:
optimizeTours
ataubatchOptimizeTours
. Untuk informasi selengkapnya tentang cara meminta token rute di Route Optimization API, lihat Polyline Transisi dan Token Rute.
Menyiapkan Routes API atau Routes Preferred API request untuk memenuhi persyaratan penggunaan token rute:
- Tetapkan
travel_mode
keDRIVING
atauTWO_WHEELER
- Tetapkan
routing_preference
keTRAFFIC_AWARE
atauTRAFFIC_AWARE_OPTIMAL
- JANGAN gunakan
Via
titik jalan
- Tetapkan
Langkah 2: Teruskan token rute ke Navigation SDK
Simpan token rute: Di Navigation SDK, siapkan string untuk menyimpan token rute. Contoh:
String routeToken = "route token returned by Routes API";
Contoh token rute yang ditampilkan:
{ // Other fields "routeToken": "CqMBCjoKCJQOor5DHcwiEhBon3XpHXFnVvDeWMwd9PpAGgz6wtnFDKIBrAHTARpCApUDSggAAAAACjcrP3gBEAQaTApKChgKDQoCCAERAAAAAACAZkAR3SQGgZUXdUASEggAEAMQBhATEBIYAkIEGgIIBSIYChZ2VEJiWlBPSkk1aU5wUVRzNTV5d0FRKAEiFQBcJuds-Efh-2QZhOMTtUCCxEVL_g", }
Teruskan token rute ke Navigation SDK menggunakan Metode
Navigator.setDestinations
, yang menentukan tujuan yang sama titik jalan yang Anda gunakan saat membuat token rute:setDestinations(List
destinations, CustomRoutesOptions customRoutesOptions, DisplayOptions displayOptions); Contoh:
CustomRoutesOptions customRoutesOptions = CustomRoutesOptions.builder() .setRouteToken(routeToken) .setTravelMode(TravelMode.DRIVING) .build();
Metode Navigator.setDestinations
akan menampilkan status permintaan. Jika menemukan rute dari lokasi kendaraan ke tujuan yang diberikan, metode ini akan menampilkan RouteStatus.OK
.
Untuk informasi selengkapnya tentang metode ini, lihat
Navigator.setDestinations
Contoh
Contoh kode berikut menunjukkan cara menentukan rute yang direncanakan menggunakan token rute.
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 Routes API";
CustomRoutesOptions customRoutesOptions =
CustomRoutesOptions.builder()
.setRouteToken(routeToken)
.setTravelMode(TravelMode.DRIVING)
.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);
Cara token rute dan Navigation SDK berinteraksi
Berikut cara rute yang dihasilkan oleh Navigation SDK dan rute yang direncanakan dalam token rute berinteraksi:
Mengganti tujuan yang telah ditetapkan sebelumnya.
Menggunakan lokasi awal kendaraan.
Menyesuaikan kondisi jalan dan lalu lintas. Lihat Mengapa rute yang direncanakan tidak dapat diikuti dengan tepat.
Mengabaikan opsi terkait perutean berikut sebagai tidak diperlukan:
avoidsHighways
avoidsTolls
avoidsFerries
licensePlateRestriction
Mengikuti:
Opsi terkait titik jalan, seperti preferensi sisi jalan.
Tujuan rute. Jika Navigation SDK harus menyesuaikan rute yang ditampilkan, SDK akan menggunakan tujuan rute yang Anda tentukan saat meminta token rute. Karena alasan ini, Anda harus menggunakan opsi terkait titik jalan yang sama dengan yang Anda tentukan di Routes API.