- Permintaan HTTP
- Isi permintaan
- Isi respons
- Kualitas Polyline
- EncodingEncoding
- Unit
- ReferenceRoute
- Tambahan Tambahan
- Rute
- RouteLabel
- Rute Leg
- Polyline
- RouteLegStep
- Petunjuk Navigation
- Manuver
- RouteLegStepTravelAdvisory
- RouteLegTravelAdvisory
- Area pandang
- GeocodingResults
- Titik Jalan Hasil Geocoding
Menampilkan rute utama beserta rute alternatif opsional, berdasarkan sekumpulan titik jalan perantara dan perantara.
CATATAN: Metode ini mengharuskan Anda menentukan mask kolom respons dalam input. Anda dapat memberikan mask kolom respons menggunakan parameter URL $fields
atau fields
, atau menggunakan header HTTP/gRPC X-Goog-FieldMask
(lihat header dan parameter URL yang tersedia. Nilainya adalah daftar jalur kolom yang dipisahkan koma. Lihat dokumentasi mendetail tentang cara membuat jalur kolom.
Misalnya, dalam metode ini:
- Mask kolom untuk semua kolom yang tersedia (untuk inspeksi manual):
X-Goog-FieldMask: *
- Masker kolom dari Durasi tingkat rute, jarak, dan polyline (contoh penyiapan produksi):
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline
Google tidak menyarankan penggunaan mask kolom respons karakter pengganti (*
), atau menentukan mask kolom di tingkat atas (routes
), karena:
- Memilih kolom yang Anda butuhkan saja akan membantu server kami menyimpan siklus komputasi, sehingga kami dapat menampilkan hasilnya kepada Anda dengan latensi yang lebih rendah.
- Memilih kolom yang Anda butuhkan dalam tugas produksi saja akan memastikan performa latensi yang stabil. Kami mungkin menambahkan lebih banyak kolom respons di masa mendatang dan kolom baru tersebut mungkin memerlukan waktu komputasi tambahan. Jika Anda memilih semua kolom, atau jika memilih semua kolom di tingkat atas, Anda mungkin mengalami penurunan performa karena kolom baru yang kami tambahkan akan otomatis disertakan dalam respons.
- Memilih kolom yang Anda butuhkan saja akan menghasilkan ukuran respons yang lebih kecil, sehingga throughput jaringan menjadi lebih tinggi.
Permintaan HTTP
POST https://routes.googleapis.com/directions/v2:computeRoutes
URL menggunakan sintaksis gRPC Transcoding.
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
Representasi JSON |
---|
{ "origin": { object ( |
Kolom | |
---|---|
origin |
Wajib diisi. Titik jalan asal. |
destination |
Wajib diisi. Titik jalan tujuan. |
intermediates[] |
Opsional. Kumpulan titik jalan di sepanjang rute (tidak termasuk titik terminal), baik untuk berhenti di atau lewat. Didukung hingga 25 titik jalan perantara. |
travelMode |
Opsional. Menentukan moda transportasi. |
routingPreference |
Opsional. Menentukan cara menghitung rute. Server mencoba menggunakan preferensi pemilihan rute yang dipilih untuk menghitung rute. Jika preferensi pemilihan rute menghasilkan error atau latensi tambahan yang panjang, error akan ditampilkan. Anda dapat menentukan opsi ini hanya jika |
polylineQuality |
Opsional. Menentukan preferensi Anda untuk kualitas polyline. |
polylineEncoding |
Opsional. Menentukan encoding pilihan untuk polyline. |
departureTime |
Opsional. Waktu keberangkatan. Jika Anda tidak menetapkan nilai ini, nilai ini akan ditetapkan secara default ke waktu saat Anda membuat permintaan. Jika Anda menetapkan nilai ini ke waktu yang telah terjadi, permintaan akan gagal. Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: |
computeAlternativeRoutes |
Opsional. Menentukan apakah akan menghitung rute alternatif selain rute. |
routeModifiers |
Opsional. Serangkaian kondisi yang harus dipenuhi yang memengaruhi cara rute dihitung. |
languageCode |
Opsional. Kode bahasa BCP-47, seperti "en-US" atau "sr-Latn". Untuk informasi selengkapnya, lihat http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Lihat Dukungan Bahasa untuk daftar bahasa yang didukung. Jika Anda tidak memberikan nilai ini, bahasa tampilan akan disimpulkan dari lokasi permintaan rute. |
regionCode |
Opsional. Kode wilayah, yang ditetapkan sebagai nilai dua karakter ccTLD ("domain level teratas"). Untuk informasi selengkapnya, lihat https://en.wikipedia.org/wiki/List_of_Internet_top-level_domains#Country_code_top-level_domains |
units |
Opsional. Menentukan unit ukuran untuk kolom tampilan. Ini mencakup kolom |
requestedReferenceRoutes[] |
Opsional. Menentukan rute referensi yang akan dihitung sebagai bagian dari permintaan selain rute default. Rute referensi adalah rute dengan tujuan penghitungan rute yang berbeda dengan rute default. Misalnya, penghitungan rute referensi FUEL_EFFICIENT memperhitungkan berbagai parameter yang akan menghasilkan rute hemat bahan bakar optimal. |
extraComputations[] |
Opsional. Daftar komputasi tambahan yang dapat digunakan untuk menyelesaikan permintaan. Catatan: Komputasi tambahan ini dapat menampilkan kolom tambahan pada respons. Kolom tambahan ini juga harus ditentukan di mask kolom agar ditampilkan dalam respons. |
Isi respons
Jika berhasil, isi respons memuat data dengan struktur berikut:
v2.computeRoutes pesan respons.
Representasi JSON |
---|
{ "routes": [ { object ( |
Kolom | |
---|---|
routes[] |
Berisi array rute yang dihitung (hingga tiga) saat Anda menentukan compute_alternatives_routes, dan hanya berisi satu rute jika tidak. Jika array ini berisi beberapa entri, entri pertama adalah rute yang paling direkomendasikan. Jika array kosong, berarti rute tidak dapat ditemukan. |
fallbackInfo |
Dalam beberapa kasus, ketika server tidak dapat menghitung hasil rute dengan semua preferensi input, server dapat kembali menggunakan cara komputasi yang berbeda. Saat mode penggantian digunakan, kolom ini berisi info mendetail tentang respons penggantian. Jika tidak, kolom ini akan dibatalkan. |
geocodingResults |
Berisi info respons geocoding untuk titik jalan yang ditentukan sebagai alamat. |
Kualitas Polyline
Sekumpulan nilai yang menentukan kualitas polyline.
Enumerasi | |
---|---|
POLYLINE_QUALITY_UNSPECIFIED |
Tidak ada preferensi kualitas polyline yang ditetapkan. Default-nya adalah OVERVIEW . |
HIGH_QUALITY |
Menentukan polyline berkualitas tinggi - yang disusun menggunakan lebih banyak titik daripada OVERVIEW , dengan mengorbankan peningkatan ukuran respons. Gunakan nilai ini saat Anda membutuhkan presisi lebih tinggi. |
OVERVIEW |
Menentukan polyline ringkasan - yang disusun menggunakan sejumlah kecil titik. Gunakan nilai ini saat menampilkan ringkasan rute. Penggunaan opsi ini memiliki latensi permintaan yang lebih rendah dibandingkan dengan opsi HIGH_QUALITY . |
Encoding Polyline
Menentukan jenis polyline yang diinginkan yang akan ditampilkan.
Enumerasi | |
---|---|
POLYLINE_ENCODING_UNSPECIFIED |
Tidak ada preferensi jenis polyline yang ditetapkan. Default-nya adalah ENCODED_POLYLINE . |
ENCODED_POLYLINE |
Menentukan polyline yang dienkode menggunakan algoritme encoding polyline. |
GEO_JSON_LINESTRING |
Menentukan polyline menggunakan format GeoJSON LineString |
Unit
Kumpulan nilai yang menentukan satuan ukuran yang digunakan dalam tampilan.
Enumerasi | |
---|---|
UNITS_UNSPECIFIED |
Satuan ukuran tidak ditentukan. Setelan defaultnya adalah satuan ukuran yang disimpulkan dari permintaan. |
METRIC |
Unit ukuran metrik. |
IMPERIAL |
Satuan ukuran imperial (Inggris). |
ReferensiReferensi
Rute referensi yang didukung di ComputeRoutesRequest.
Enumerasi | |
---|---|
REFERENCE_ROUTE_UNSPECIFIED |
Tidak digunakan. Permintaan yang berisi nilai ini gagal. |
FUEL_EFFICIENT |
Rute hemat bahan bakar. Rute yang diberi label nilai ini ditentukan agar dioptimalkan untuk parameter seperti konsumsi bahan bakar. |
Komputasi Tambahan
Komputasi tambahan yang akan dilakukan saat menyelesaikan permintaan.
Enumerasi | |
---|---|
EXTRA_COMPUTATION_UNSPECIFIED |
Tidak digunakan. Permintaan yang berisi nilai ini akan gagal. |
TOLLS |
Informasi tol untuk rute. |
FUEL_CONSUMPTION |
Estimasi konsumsi bahan bakar untuk rute tersebut. |
TRAFFIC_ON_POLYLINE |
Polyline yang sadar lalu lintas untuk rute tersebut. |
Rute
Enkapsulasi rute, yang terdiri dari serangkaian segmen jalan yang terhubung yang menggabungkan titik jalan awal, akhir, dan perantara.
Representasi JSON |
---|
{ "routeLabels": [ enum ( |
Kolom | |
---|---|
routeLabels[] |
Label untuk |
legs[] |
Kumpulan segmen (segmen jalur di antara titik jalan) yang membentuk rute. Setiap segmen merujuk pada perjalanan antara dua Titik Jalan non- |
distanceMeters |
Jarak perjalanan rute, dalam meter. |
duration |
Durasi waktu yang diperlukan untuk menavigasi rute. Jika Anda menetapkan Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan ' |
staticDuration |
Durasi perjalanan melalui rute tanpa mempertimbangkan kondisi lalu lintas. Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan ' |
polyline |
Polyline rute secara keseluruhan. Polyline ini akan menjadi polyline gabungan dari semua |
description |
Deskripsi rute. |
warnings[] |
Array peringatan yang akan ditampilkan saat menampilkan rute. |
viewport |
Kotak pembatas area pandang polyline. |
travelAdvisory |
Informasi tambahan tentang rute. |
routeToken |
Token rute berenkode base64 yang aman bagi web yang dapat diteruskan ke NavigationSDK, yang memungkinkan Navigation SDK untuk merekonstruksi rute selama navigasi, dan jika perutean diubah untuk memenuhi intent asli saat Routes v2.computeRoutes dipanggil. Pelanggan harus memperlakukan token ini sebagai blob buram. CATATAN: |
LabelRute
Label untuk Route
yang berguna untuk mengidentifikasi properti rute tertentu untuk dibandingkan dengan properti lainnya.
Enumerasi | |
---|---|
ROUTE_LABEL_UNSPECIFIED |
Default - tidak digunakan. |
DEFAULT_ROUTE |
Rute "terbaik" default ditampilkan untuk komputasi rute. |
DEFAULT_ROUTE_ALTERNATE |
Alternatif untuk rute "terbaik" default. Rute seperti ini akan ditampilkan saat ComputeRoutesRequest.compute_alternative_routes ditentukan. |
FUEL_EFFICIENT |
Rute hemat bahan bakar. Rute yang diberi label nilai ini ditentukan agar dioptimalkan untuk parameter Hemat Energi seperti konsumsi bahan bakar. |
Kaki Rute
Mengenkapsulasi segmen antara titik jalan non-via
.
Representasi JSON |
---|
{ "distanceMeters": integer, "duration": string, "staticDuration": string, "polyline": { object ( |
Kolom | |
---|---|
distanceMeters |
Jarak perjalanan kaki rute, dalam meter. |
duration |
Durasi waktu yang diperlukan untuk menjelajahi kaki. Jika Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan ' |
staticDuration |
Durasi perjalanan di sepanjang segmen, dihitung tanpa mempertimbangkan kondisi lalu lintas. Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan ' |
polyline |
Polyline keseluruhan untuk segmen ini. Ini mencakup setiap polyline |
startLocation |
Lokasi awal segmen ini. Ini mungkin berbeda dari |
endLocation |
Lokasi akhir segmen ini. Ini mungkin berbeda dari |
steps[] |
Array langkah yang menunjukkan segmen dalam segmen ini. Setiap langkah mewakili satu petunjuk navigasi. |
travelAdvisory |
Enkapsulasi informasi tambahan yang harus diinformasikan kepada pengguna, seperti kemungkinan pembatasan zona lalu lintas pada segmen rute. |
Polyline
Mengenkapsulasi polyline yang dienkode.
Representasi JSON |
---|
{ // Union field |
Kolom | |
---|---|
Kolom union polyline_type . Mengenkapsulasi jenis polyline. Default-nya adalah encoded_polyline. polyline_type hanya dapat berupa salah satu dari berikut: |
|
encodedPolyline |
Encoding string polyline menggunakan algoritme encoding polyline |
geoJsonLinestring |
Menentukan polyline menggunakan format GeoJSON LineString |
LangkahRute
Mengenkapsulasi segmen RouteLeg
. Satu langkah sesuai dengan satu petunjuk navigasi. Segmen rute terdiri dari anak tangga.
Representasi JSON |
---|
{ "distanceMeters": integer, "staticDuration": string, "polyline": { object ( |
Kolom | |
---|---|
distanceMeters |
Jarak perjalanan langkah ini, dalam meter. Dalam beberapa situasi, kolom ini mungkin tidak memiliki nilai. |
staticDuration |
Durasi perjalanan melewati langkah ini tanpa mempertimbangkan kondisi lalu lintas. Dalam beberapa situasi, kolom ini mungkin tidak memiliki nilai. Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan ' |
polyline |
Polyline yang terkait dengan langkah ini. |
startLocation |
Lokasi awal langkah ini. |
endLocation |
Lokasi akhir langkah ini. |
navigationInstruction |
Petunjuk navigasi. |
travelAdvisory |
Enkapsulasi informasi tambahan yang harus diinformasikan kepada pengguna, seperti kemungkinan pembatasan zona lalu lintas pada langkah tertentu. |
Manuver
Kumpulan nilai yang menentukan tindakan navigasi yang akan diambil untuk langkah saat ini (mis., belok kiri, gabungkan, lurus, dll.).
Enumerasi | |
---|---|
MANEUVER_UNSPECIFIED |
Tidak digunakan. |
TURN_SLIGHT_LEFT |
Belok sedikit ke kiri. |
TURN_SHARP_LEFT |
Belok tajam ke kiri. |
UTURN_LEFT |
Putar balik ke kiri. |
TURN_LEFT |
Belok kiri. |
TURN_SLIGHT_RIGHT |
Belok sedikit ke kanan. |
TURN_SHARP_RIGHT |
Belok tajam ke kanan. |
UTURN_RIGHT |
Putar balik ke kanan. |
TURN_RIGHT |
Belok kanan. |
STRAIGHT |
Langsung. |
RAMP_LEFT |
Ambil jalan kiri. |
RAMP_RIGHT |
Ambil jalan yang benar. |
MERGE |
Bergabung ke traffic. |
FORK_LEFT |
Ambil garpu kiri. |
FORK_RIGHT |
Ambil garpu yang tepat. |
FERRY |
Naik feri. |
FERRY_TRAIN |
Naik kereta menuju feri. |
ROUNDABOUT_LEFT |
Belok kiri di bundaran. |
ROUNDABOUT_RIGHT |
Belok kanan di bundaran. |
RouteLegStepTravelAdvisory
Enkapsulasi informasi tambahan yang harus diinformasikan kepada pengguna, seperti kemungkinan pembatasan zona lalu lintas pada langkah tertentu.
Representasi JSON |
---|
{
"speedReadingIntervals": [
{
object ( |
Kolom | |
---|---|
speedReadingIntervals[] |
CATATAN: Kolom ini belum diisi. |
RouteLegTravelAdvisory
Enkapsulasi informasi tambahan yang harus diinformasikan kepada pengguna, seperti kemungkinan pembatasan zona lalu lintas pada segmen rute.
Representasi JSON |
---|
{ "tollInfo": { object ( |
Kolom | |
---|---|
tollInfo |
Mengenkapsulasi informasi tentang jalan tol di RouteLeg tertentu. Kolom ini hanya diisi jika kami memperkirakan ada jalan tol di RouteLeg. Jika kolom ini ditetapkan tetapi subkolom estimasiPrice tidak diisi, kami memperkirakan jalan akan berisi tol, tetapi kami tidak mengetahui perkiraan harga. Jika kolom ini tidak ada, tidak ada tol pada RouteLeg. |
speedReadingIntervals[] |
Interval pembacaan kecepatan yang memerinci kepadatan traffic. Berlaku untuk preferensi pemilihan rute Contoh:
|
Area Pandang
Area pandang lintang-bujur, yang direpresentasikan sebagai dua titik low
dan high
secara diagonal. Area pandang dianggap sebagai region tertutup, yaitu area pandang yang menyertakan batasnya. Batas lintang harus berkisar antara -90 hingga 90 derajat, dan batas bujur harus berkisar antara -180 hingga 180 derajat. Berbagai kasus mencakup:
Jika
low
=high
, area pandang terdiri dari satu titik tersebut.Jika
low.longitude
>high.longitude
, rentang bujur akan dibalik (area pandang melintasi garis bujur 180 derajat).Jika
low.longitude
= -180 derajat danhigh.longitude
= 180 derajat, area pandang akan menyertakan semua garis bujur.Jika
low.longitude
= 180 derajat danhigh.longitude
= -180 derajat, rentang bujur akan kosong.Jika
low.latitude
>high.latitude
, rentang lintang kosong.
low
dan high
harus diisi, dan kotak yang diwakili tidak boleh kosong (seperti yang ditentukan oleh definisi di atas). Area pandang kosong akan menghasilkan error.
Misalnya, area pandang ini sepenuhnya mencakup New York City:
{ "rendah": { "garis lintang": 40.477398, "bujur": -74.259087 }, "tinggi": { "garis lintang": 40.91618, "bujur": -73.70018 } }
Representasi JSON |
---|
{ "low": { object ( |
Kolom | |
---|---|
low |
Wajib diisi. Titik rendah area pandang. |
high |
Wajib diisi. Titik tinggi area pandang. |
Hasil Geocoding
Berisi GeocodeWaypoints untuk titik asal, tujuan, dan perantara. Hanya diisi untuk titik jalan alamat.
Representasi JSON |
---|
{ "origin": { object ( |
Kolom | |
---|---|
origin |
Titik jalan geocode asal. |
destination |
Titik jalan geocode tujuan. |
intermediates[] |
Daftar titik jalan geocode menengah yang masing-masing berisi bidang indeks yang sesuai dengan posisi berbasis nol dari titik jalan dalam urutan yang ditetapkan di permintaan. |
Titik Jalan Hasil Geocoding
Detail tentang lokasi yang digunakan sebagai titik jalan. Hanya diisi untuk titik jalan alamat. Menyertakan detail tentang hasil geocoding untuk tujuan menentukan alamat yang akan di-geocoding.
Representasi JSON |
---|
{
"geocoderStatus": {
object ( |
Kolom | |
---|---|
geocoderStatus |
Menunjukkan kode status yang dihasilkan dari operasi geocoding. |
type[] |
Jenis hasil dalam bentuk tag nol atau beberapa jenis. Jenis yang didukung: https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types |
partialMatch |
Menunjukkan bahwa geocoder tidak mengembalikan hasil yang benar-benar cocok untuk permintaan asal, meskipun geocoder bisa mencocokkan sebagian dari alamat yang diminta. Anda mungkin ingin memeriksa permintaan asal untuk mengetahui adanya salah eja dan/atau alamat yang tidak lengkap. |
placeId |
ID tempat untuk hasil ini. |
intermediateWaypointRequestIndex |
Indeks titik jalan perantara yang sesuai dalam permintaan. Hanya diisi jika titik jalan yang sesuai adalah titik jalan perantara. |