Memilih kolom yang akan ditampilkan
Saat meminta rute atau matriks rute, Anda harus menggunakan mask kolom untuk menentukan informasi yang harus ditampilkan dalam respons. Tidak ada daftar kolom default yang ditampilkan. Jika Anda tidak menentukan mask kolom, metode akan menampilkan error.
Penggunaan mask kolom juga memastikan Anda tidak meminta data yang tidak diperlukan, yang pada gilirannya membantu latensi respons dan menghindari menampilkan informasi yang tidak diperlukan sistem Anda.
Anda menentukan daftar kolom yang diperlukan dalam mask kolom respons. Kemudian, Anda meneruskan
mask kolom respons ke salah satu metode menggunakan parameter URL $fields atau
fields, atau menggunakan header HTTP atau gRPC X-Goog-FieldMask.
Untuk mengetahui informasi selengkapnya tentang parameter URL, lihat Parameter Sistem.
Menentukan mask kolom respons
Mask kolom respons adalah daftar jalur yang dipisahkan koma, dengan setiap jalur menentukan kolom unik dalam pesan respons. Jalur dimulai dari pesan respons tingkat atas dan menggunakan jalur yang dipisahkan titik ke kolom yang ditentukan.
Buat dan tentukan jalur kolom sebagai berikut:
- Temukan kolom yang berisi informasi yang Anda butuhkan. Untuk mengetahui detailnya, lihat Referensi Kolom.
- Tentukan jalur untuk kolom yang Anda butuhkan dan buat mask kolom untuknya: Untuk mengetahui detailnya, lihat Menentukan mask kolom yang ingin Anda gunakan.
Gabungkan mask kolom untuk semua kolom yang Anda butuhkan, dengan memisahkan mask kolom dengan koma. Misalnya, untuk meminta
distanceMetersuntuk segmen rute, ditambah durasi untuk setiap langkah segmen rute, masukkan keduanya, dipisahkan dengan koma, tanpa spasi:routes.legs.distanceMeters,routes.legs.steps.duration
Kirim mask kolom dengan permintaan API Anda. Misalnya, dalam permintaan curl, Anda akan menentukan mask kolom dengan
-HdanX-Goog-FieldMask:-H X-Goog-FieldMask: routes.legs.distanceMeters,routes.legs.steps.duration
Referensi Kolom
Untuk melihat kolom yang dapat Anda minta dalam respons melalui mask kolom, lihat referensi Compute Routes atau Compute Route Matrix Routes API yang ditautkan dalam daftar berikut. Tentukan kolom dalam camel case seperti yang ditunjukkan dalam referensi. Misalnya, routePreference.
Referensi ini mencakup kolom yang tersedia; namun, Anda harus merujuk ke hierarki kolom untuk menentukan jalur mask kolom lengkap. Untuk mengetahui detail tentang cara mendapatkan hierarki kolom, lihat Menentukan mask kolom yang ingin Anda gunakan.
- Mask kolom rute komputasi
- Mask kolom Compute Route Matrix
- REST: Menentukan kolom Isi respons yang akan ditampilkan.
- gRPC: Menentukan kolom objek RouteMatrixElement dalam respons yang akan ditampilkan.
Menentukan mask kolom yang akan digunakan
Berikut cara menentukan kolom yang ingin Anda gunakan, dan membuat mask kolom untuknya:
- Minta semua kolom menggunakan mask kolom
*. - Lihat hierarki kolom dalam respons untuk kolom yang Anda inginkan.
Buat mask kolom menggunakan hierarki kolom yang ditampilkan pada langkah sebelumnya, menggunakan format ini:
topLevelField[.secondLevelField][.thirdLevelField][...]
Misalnya, untuk respons sebagian ini dari rute:
"routes": [ { "legs": [ { "steps": [ {"distanceMeters": 119}, {"distanceMeters": 41} ] } ], "distanceMeters": 160 } ]
Jika Anda hanya ingin menampilkan kolom distanceMeters untuk segmen rute; yaitu, distanceMeters terakhir dalam contoh sebelumnya, mask kolom Anda adalah sebagai berikut:
routes.legs.distanceMeters
Jika Anda ingin menampilkan kolom distanceMeters untuk setiap langkah segmen rute; yaitu, distanceMeters di bagian steps dalam contoh sebelumnya, mask kolom Anda adalah sebagai berikut:
routes.legs.steps.distanceMeters
Jika Anda ingin menampilkan keduanya, dengan hasil di atas, mask kolom Anda adalah sebagai berikut:
routes.legs.distanceMeters,routes.legs.steps.distanceMeters
Contoh jalur mask kolom
Bagian ini berisi contoh lainnya tentang cara menentukan jalur kolom sebagai bagian dari mask kolom respons dalam panggilan REST dan gRPC.
Panggilan REST ke computeRoutes
Pada contoh pertama, Anda menggunakan panggilan REST ke metode
computeRoutes untuk menghitung
rute. Dalam contoh ini, di header, Anda menentukan mask kolom untuk menampilkan kolom distanceMeters dan duration rute dalam respons. Ingatlah untuk menambahkan awalan routes pada nama kolom.
X-Goog-FieldMask: routes.distanceMeters,routes.duration
Panggilan REST ke computeRouteMatrix
Untuk metode computeRouteMatrix
REST yang digunakan untuk menghitung matriks rute, di header, tentukan untuk menampilkan
originIndex, destinationIndex, dan duration untuk setiap kombinasi asal
dan tujuan:
X-Goog-FieldMask: originIndex,destinationIndex,duration
Panggilan gRPC ke computeRoutes
Untuk metode computeRoutes gRPC yang digunakan untuk menghitung rute, tetapkan variabel yang berisi mask kolom respons untuk menampilkan kolom distanceMeters, duration, dan polyline yang dienkode dalam respons. Kemudian, Anda dapat meneruskan variabel tersebut ke permintaan:
const ( fieldMask = "routes.distanceMeters,routes.duration,routes.polyline.encodedPolyline" )
Panggilan gRPC ke computeRouteMatrix
Untuk metode computeRouteMatrix gRPC yang digunakan untuk menghitung matriks rute, tetapkan variabel yang berisi mask kolom respons untuk menentukan menampilkan originIndex, destinationIndex, dan duration untuk setiap kombinasi asal dan tujuan. Kemudian, Anda dapat meneruskan variabel tersebut ke permintaan:
const ( fieldMask = "originIndex,destinationIndex,duration" )
Pertimbangan jalur kolom
Hanya sertakan kolom yang Anda perlukan dalam respons untuk menampilkan kolom yang Anda butuhkan:
- Mengurangi waktu pemrosesan, sehingga hasil Anda ditampilkan dengan latensi yang lebih rendah.
- Memastikan performa latensi yang stabil. Jika Anda memilih semua kolom, atau jika Anda memilih semua kolom di tingkat atas, Anda mungkin mengalami penurunan performa saat kolom baru ditambahkan dan kemudian otomatis disertakan dalam respons Anda.
- Menghasilkan ukuran respons yang lebih kecil, yang berarti throughput jaringan yang lebih tinggi.
- Memastikan Anda tidak meminta data yang tidak diperlukan, yang membantu menghindari waktu pemrosesan dan biaya penagihan yang tidak perlu.
Untuk mengetahui detail selengkapnya tentang cara membuat mask kolom, lihat field_mask.proto.