Saat Routes API menghitung rute, ia mengambil titik jalan dan parameter konfigurasi yang Anda berikan sebagai input. API kemudian menampilkan respons yang berisi rute default dan satu atau beberapa rute alternatif.
Respons Anda dapat mencakup berbagai jenis rute dan data lainnya, berdasarkan kolom yang Anda minta:
Untuk menyertakannya dalam respons | Lihat dokumentasi ini |
---|---|
Rute yang paling hemat bahan bakar atau energi berdasarkan jenis mesin kendaraan. | Mengonfigurasi Rute ramah lingkungan |
Hingga tiga rute alternatif | Meminta rute alternatif |
Polyline untuk seluruh rute, untuk setiap segmen rute, dan untuk setiap langkah kaki. | Meminta polyline rute |
Estimasi tarif tol, dengan mempertimbangkan diskon tarif tol atau kartu yang tersedia untuk pengemudi atau kendaraan. | Menghitung tarif tol |
Respons yang dilokalkan menurut kode bahasa dan unit pengukuran (imperial atau metrik). | Meminta nilai yang dilokalkan |
Untuk memformat petunjuk navigasi sebagai string teks HTML, tambahkan HTML_FORMATTED_NAVIGATION_INSTRUCTIONS ke
extraComputations . |
Komputasi Ekstra |
Untuk daftar lengkap opsi masukan, lihat Opsi rute yang tersedia dan Isi permintaan.
Dengan menggunakan respons tersebut, Anda dapat memberikan informasi kepada pelanggan diperlukan untuk memilih rute yang sesuai untuk kebutuhan mereka.
Tentang mask kolom
Saat memanggil metode untuk menghitung rute, Anda harus menetapkan kolom mask yang menentukan kolom mana yang ingin Anda tampilkan dalam respons. Tidak ada daftar default kolom yang ditampilkan. Jika Anda menghilangkan daftar ini, metode akan menampilkan sebuah {i>error<i}.
Contoh dalam dokumen ini menampilkan seluruh objek respons tanpa melalui {i>field mask<i} menjadi pertimbangan pengguna. Dalam lingkungan produksi, respons Anda akan hanya sertakan kolom yang Anda tentukan secara eksplisit dalam mask kolom.
Untuk informasi selengkapnya, lihat Memilih informasi yang ingin ditampilkan.
Tentang menampilkan hak cipta
Anda harus menyertakan pernyataan hak cipta berikut saat menampilkan hasilnya kepada pengguna Anda:
Powered by Google, ©YEAR Google
Contoh:
Powered by Google, ©2023 Google
Tentang rute, kaki, dan langkah
Sebelum melihat respons yang ditampilkan oleh Routes API, Anda harus memiliki pemahaman tentang komponen yang membentuk rute:
Respons Anda mungkin berisi informasi tentang setiap komponen rute berikut:
Rute: Keseluruhan perjalanan dari titik jalan asal, melalui titik jalan perantara, ke titik jalan tujuan. Sebuah rute terdiri dari satu atau lebih kaki.
Leg: Jalur dari satu titik jalan dalam rute ke titik jalan berikutnya di rute perjalanan. Setiap segmen terdiri dari satu atau beberapa langkah terpisah.
Sebuah rute berisi segmen terpisah untuk jalur dari setiap titik jalan ke titik berikutnya. Misalnya, jika rute berisi satu titik jalan asal dan satu titik jalan tujuan, maka rute akan berisi satu segmen. Untuk setiap titik jalan tambahan yang Anda tambahkan ke rute setelah asal dan tujuan, yang disebut titik jalan perantara, API menambahkan segmen yang terpisah.
API tidak menambahkan segmen untuk titik jalan perantara pass-through. Sebagai misalnya, rute yang berisi titik jalan asal, jalur titik jalan perantara, dan titik jalan tujuan hanya berisi satu segmen tempat asal ke tujuan, sambil melewati titik jalan. Untuk selengkapnya informasi tentang titik jalan yang dilewati, lihat Menentukan titik jalan pass-through.
Langkah: Satu petunjuk di sepanjang segmen rute. Satu langkah adalah yang paling satuan atom rute. Misalnya, sebuah langkah dapat menunjukkan "Belok kiri di Utama Jalan''.
Yang ada dalam respons
Objek JSON yang mewakili respons API berisi properti level teratas berikut:
routes
, array elemen jenis Rute. Arrayroutes
berisi satu elemen untuk setiap rute yang ditampilkan oleh API. Array dapat berisi maksimal lima elemen: rute default, elemen rute ramah lingkungan, dan hingga tiga rute alternatif.geocodingResults
, array elemen jenis GeocodingResults Anda. Untuk setiap lokasi dalam permintaan (asal, tujuan, atau perantara) titik jalan) yang ditentukan sebagai string alamat atau Plus Codes, API akan melakukan pencarian ID tempat. Setiap elemen {i>array<i} ini berisi ID tempat yang sesuai dengan lokasi. Lokasi dalam permintaan yang ditentukan sebagai ID tempat atau sebagai koordinat lintang/bujur tidak disertakan. Jika Anda telah menentukan semua lokasi menggunakan ID tempat atau lintang dan bujur , array ini tidak disediakan.fallbackInfo
, dari jenis FallbackInfo. Jika API tidak dapat menghitung rute dari semua properti input, komputer itu mungkin kembali menggunakan cara komputasi yang berbeda. Saat penggantian mode yang digunakan, kolom ini berisi info detail tentang penggantian yang dihasilkan. Jika tidak, kolom ini tidak ditetapkan.
Respons berupa:
{ // The routes array. "routes": [ { object (Route) } ], // The place ID lookup results. "geocodingResults": [ { object (GeocodedWaypoint) } ], // The fallback property. "fallbackInfo": { object (FallbackInfo) } }
Menguraikan array rute
Respons berisi array routes
, dengan setiap elemen array berjenis
Rute.
Setiap elemen array mewakili keseluruhan rute dari tempat asal ke tujuan. Tujuan
API selalu menampilkan minimal satu rute, yang disebut rute default.
Anda dapat meminta rute tambahan. Jika Anda meminta
rute ramah lingkungan, array dapat berisi dua elemen:
rute default dan rute ramah lingkungan. Atau, tetapkan computeAlternativeRoutes
ke
true
dalam permintaan untuk menambahkan hingga tiga rute alternatif ke respons.
Setiap rute dalam array diidentifikasi dengan properti array routeLabels
:
Nilai | Deskripsi |
---|---|
DEFAULT_ROUTE |
Mengidentifikasi rute default. |
FUEL_EFFICIENT |
Mengidentifikasi rute ramah lingkungan. |
DEFAULT_ROUTE_ALTERNATE |
Iindikasikan rute alternatif. |
Array legs
berisi definisi setiap segmen rute. Sisa
properti, seperti distanceMeters
, duration
, dan polyline,
berisi
informasi tentang rute secara keseluruhan:
{ "routeLabels": [ enum (RouteLabel) ], "legs": [ { object (RouteLeg) } ], "distanceMeters": integer, "duration": string, "routeLabels": [string], "staticDuration": string, "polyline": { object (Polyline) }, "description": string, "warnings": [ string ], "viewport": { object (Viewport) }, "travelAdvisory": { object (RouteTravelAdvisory) } "routeToken": string }
Karena kondisi mengemudi saat ini dan faktor lainnya, rute default dan
rute ramah lingkungan bisa sama. Dalam hal ini, array routeLabels
berisi kedua label: DEFAULT_ROUTE
dan FUEL_EFFICIENT
.
{ "routes": [ { "routeLabels": [ "DEFAULT_ROUTE", "FUEL_EFFICIENT" ], … } ] }
Memahami array kaki
Setiap route
dalam respons berisi array legs
, dengan setiap array legs
elemen berjenis
RouteLeg.
Setiap segmen dalam array mendefinisikan jalur dari satu titik jalan ke titik jalan berikutnya
sepanjang rute. Rute selalu berisi setidaknya satu segmen.
Properti legs
berisi definisi setiap langkah di sepanjang segmen dalam
Array steps
. Properti lainnya, seperti distanceMeters
, duration
,
dan polyline
berisi informasi tentang segmen perjalanan.
{ "distanceMeters": integer, "duration": string, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "steps": [ { object (RouteLegStep) } ], "travelAdvisory": { object (RouteLegTravelAdvisory) } }
Memahami array langkah
Setiap segmen dalam respons berisi array steps
, dengan setiap array steps
elemen berjenis
RouteLegStep.
Langkah sesuai dengan satu petunjuk di sepanjang segmennya. Segmen selalu berisi
setidaknya satu langkah.
Setiap elemen dalam array steps
menyertakan navigationInstruction
properti, jenis
NavigationInstruction,
yang berisi instruksi langkah. Contoh:
"navigationInstruction": { "maneuver": "TURN_LEFT", "instructions": "Turn left toward Frontage Rd" }
instructions
mungkin berisi informasi tambahan tentang langkah tersebut. Contoh:
"navigationInstruction": { "maneuver": "TURN_SLIGHT_LEFT", "instructions": "Slight left (signs for I-90 W/Worcester)nParts of this road may be closed at certain times or days" }
Properti yang tersisa dalam langkah menjelaskan informasi tentang langkah tersebut, seperti
sebagai distanceMeters
, duration
, dan polyline
:
{ "distanceMeters": integer, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "navigationInstruction": { object (NavigationInstruction) } }
Tentukan bahasa petunjuk langkah
API mengembalikan informasi rute dalam bahasa lokal, yang ditransliterasi ke skrip yang dapat dibaca oleh pengguna, jika perlu, sambil mengamati di bahasa target. Semua komponen alamat ditampilkan dalam bahasa yang sama.
Gunakan parameter
languageCode
permintaan kepada atur bahasa rute secara eksplisit dari daftar dokumen yang bahasa. Google sering memperbarui bahasa, jadi daftar ini mungkin tidak lengkap.Jika nama tidak tersedia dalam bahasa yang ditetapkan, API akan menggunakan padanan terdekat.
Bahasa yang ditentukan dapat memengaruhi kumpulan hasil yang API memilih untuk menampilkan dan urutan ditampilkan. Tujuan geocoder menafsirkan singkatan secara berbeda bergantung pada bahasa, seperti singkatan untuk jenis jalan, atau sinonim yang mungkin valid dalam satu bahasa tertentu, tetapi tidak dalam bahasa lain. Contohnya, {i>utca<i} dan {i>tér<i} adalah sinonim dari di Hungaria.
Memahami array geocodingResults
Untuk setiap lokasi dalam permintaan (asal, tujuan, atau perantara)
titik jalan) yang ditentukan sebagai string alamat atau sebagai Plus Codes,
API berupaya menemukan lokasi paling relevan dan memiliki tempat yang sesuai
ke ID. Setiap elemen dari
geocodingResults
array berisi kolom placeID
berisi lokasi sebagai ID tempat dan kolom type
yang menentukan lokasi
seperti street_address
, premise
, atau airport
.
Array geocodingResults
berisi tiga kolom:
origin
: Jika ditentukan sebagai string alamat atau sebagai Plus Codes, ID tempat asal. Jika tidak, kolom ini akan dihilangkan dari respons.destination
: Jika ditentukan sebagai string alamat atau Plus Codes, ID tempat tujuan. Jika tidak, kolom ini akan dihilangkan dari yang dihasilkan.intermediates
: Array yang berisi ID tempat perantara apa pun titik jalan yang ditetapkan sebagai string alamat atau sebagai Plus Codes. Jika Anda menentukan titik jalan perantara menggunakan ID tempat atau garis lintang dan koordinat garis bujur, atribut ini dihilangkan dari respons. GunakanintermediateWaypointRequestIndex
dalam respons untuk menentukan titik jalan perantara dalam permintaan sesuai dengan ID tempat responsnya.
"geocodingResults": { "origin": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "destination": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "intermediates": [ { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string }, { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string } ] }
Memahami nilai respons yang dilokalkan
Nilai respons yang dilokalkan adalah isian respons tambahan yang memberikan yang dilokalkan untuk nilai parameter yang ditampilkan. Teks yang dilokalkan disediakan untuk durasi perjalanan, jarak, dan sistem satuan (metrik atau imperial). Anda meminta nilai yang dilokalkan menggunakan {i>field mask<i}, dan dapat menentukan bahasa dan sistem unit iklan atau menggunakan nilai yang disimpulkan oleh API. Untuk mengetahui detailnya, lihat LocalizedValues.
Misalnya, jika Anda menentukan kode bahasa untuk bahasa Jerman (de) dan imperial
unit, Anda akan mendapatkan nilai distanceMeters
dari 49889,7,
tetapi juga teks yang dilokalkan yang menyediakan
pengukuran jarak dalam bahasa Jerman dan
unit imperial, jadi "31 Meile."
Berikut adalah contoh tampilan yang akan Anda lihat untuk nilai yang dilokalkan:
{ "localized_values": { "distance": { "text": "31,0 Meile/n" }, "duration": { "text": 38 Minuten}. "static_duration": { "text": 36 Minuten}. } }
Jika Anda tidak menetapkan bahasa atau sistem unit, API akan menyimpulkan bahasa dan unit sebagai berikut:
- Metode
ComputeRoutes
menyimpulkan lokasi dan jarak unit dari titik jalan asal. Jadi, untuk permintaan perutean di AS, API menyimpulkanen-US
bahasa danIMPERIAL
unit. - Metode
ComputeRouteMatrix
ditetapkan secara default ke 'en-US' bahasa dan METRIC.