Halaman ini menjelaskan cara membuat rute dan menambahkan atribut kustom menggunakan Roads Selection API di bagian berikut:
- Buat rute: Tentukan satu rute menggunakan endpoint
create
. - Membuat rute secara massal: Tentukan beberapa rute dalam satu
permintaan menggunakan endpoint
batchCreate
. - Membuat rute dengan titik jalan perantara: Tentukan rute dengan hingga 25 titik jalan perantara.
- Memanfaatkan atribut rute kustom: Tambahkan hingga 10 pasangan nilai kunci kustom ke rute Anda untuk tujuan organisasi.
Membuat rute
Untuk membuat rute, kirim permintaan POST
ke endpoint create
.
https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes?selectedRouteId=SELECTED_ROUTE_ID
Isi permintaan harus berupa objek JSON yang menentukan resource SelectedRoute
. Objek ini menentukan informasi berikut:
- Objek
dynamicRoute
dengan informasi berikut:origin
rute yang dipilih.destination
rute yang dipilih.intermediates
rute, juga dikenal sebagai titik jalan.
selectedRouteId
unik. Nilai ini harus memiliki panjang 4 hingga 63 karakter dan hanya menggunakan karakter alfanumerik. Jika Anda tidak memberikan ID, sistem akan membuat ID unik untuk rute yang dipilih.
Contoh kode berikut menunjukkan struktur permintaan POST
ke endpoint
create
.
curl -X POST -d ' {"dynamic_route": { \ origin: {latitude: ORIGIN_LATITUDE ,longitude: ORIGIN_LONGITUDE}, \ destination: {latitude: DESTINATION_LATITUDE, longitude: DESTINATION_LONGITUDE} \ }}' \' \ -H 'X-Goog-User-Project: PROJECT_NUMBER' \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer ACCESS_TOKEN" \ "https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes?selectedRouteId=SELECTED_ROUTE_ID"
Jika berhasil, API akan menampilkan resource SelectedRoute
. Respons
mencakup selectedRouteId
di kolom name
. Anda dapat menggunakan
selectedRouteId
ini untuk mengambil atau menghapus resource SelectedRoute
.
Contoh kode berikut menunjukkan struktur respons endpoint
create
yang berhasil.
{ "name": "projects/PROJECT_NUMBER/selectedRoutes/SELECTED_ROUTE_ID", "dynamicRoute": { "origin": { "latitude": ORIGIN_LATITUDE, "longitude": ORIGIN_LONGITUDE }, "destination": { "latitude": DESTINATION_LATITUDE, "longitude": DESTINATION_LONGITUDE } }, "createTime": "CREATE_TIME", "state": "STATE_VALIDATING" }
Membuat rute secara batch
Untuk membuat beberapa rute dalam satu permintaan, gunakan endpoint
batchCreate
. Endpoint ini memungkinkan Anda menentukan hingga 1.000 rute dalam satu panggilan.
Kirim permintaan POST
ke endpoint batchCreate
:
https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes:batchCreate
URL ini menggunakan sintaksis gRPC Transcoding.
Isi permintaan harus berupa objek JSON yang berisi array requests
.
Setiap objek dalam array ini adalah CreateSelectedRouteRequest
yang
menentukan setiap aset SelectedRoute
.
Contoh kode berikut menunjukkan struktur permintaan POST
ke endpoint
batchCreate
:
curl -X POST -d ' {"requests": [ { "dynamicRoute": { "origin": {"latitude": ORIGIN_LATITUDE_1, "longitude": ORIGIN_LONGITUDE_1}, "destination": {"latitude": DESTINATION_LATITUDE_1, "longitude": DESTINATION_LONGITUDE_1} }, "selectedRouteId": "route-one" }, { "dynamicRoute": { "origin": {"latitude": ORIGIN_LATITUDE_2, "longitude": ORIGIN_LONGITUDE_2}, "destination": {"latitude": DESTINATION_LATITUDE_2, "longitude": DESTINATION_LONGITUDE_2} }, "selectedRouteId": "route-two" } ]} ' \ -H 'X-Goog-User-Project: PROJECT_NUMBER' \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer ACCESS_TOKEN" \ "https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes:batchCreate"
Jika berhasil, API akan menampilkan respons yang berisi array resource
SelectedRoute
yang dibuat.
Contoh kode berikut menunjukkan struktur respons endpoint batchCreate
:
{ "selectedRoutes": [ { "name": "projects/PROJECT_NUMBER/selectedRoutes/SELECTED_ROUTE_ID_1", "dynamicRoute": { "origin": { "latitude": ORIGIN_LATITUDE_1, "longitude": ORIGIN_LONGITUDE_1 }, "destination": { "latitude": DESTINATION_LATITUDE_1, "longitude": DESTINATION_LONGITUDE_1 } }, "createTime": "CREATE_TIME_1", "state": "STATE_VALIDATING" }, { "name": "projects/PROJECT_NUMBER/selectedRoutes/SELECTED_ROUTE_ID_2", "dynamicRoute": { "origin": { "latitude": ORIGIN_LATITUDE_2, "longitude": ORIGIN_LONGITUDE_2 }, "destination": { "latitude": DESTINATION_LATITUDE_2, "longitude": DESTINATION_LONGITUDE_2 } }, "intermediates": [], "createTime": "CREATE_TIME_2", "state": "STATE_VALIDATING" } ] }
Membuat rute dengan waypoint perantara
Untuk membuat rute yang melewati titik tertentu antara asal dan tujuan, sertakan array intermediates
dalam objek dynamicRoute
di isi permintaan Anda. Setiap elemen dalam array
intermediates
adalah titik jalan yang ditentukan oleh latitude
dan
longitude
, rute dapat memiliki hingga 25 titik jalan.
Contoh kode berikut menunjukkan cara membuat SelectedRoute
dengan titik jalan perantara:
curl -X POST -d ' {"dynamic_route": { \ "origin": {"latitude": ORIGIN_LATITUDE , "longitude": ORIGIN_LONGITUDE}, \ "intermediates": [ {"latitude": INTERMEDIATE_LATITUDE_1, "longitude": INTERMEDIATE_LONGITUDE_1}, {"latitude": INTERMEDIATE_LATITUDE_2, "longitude": INTERMEDIATE_LONGITUDE_2}, {"latitude": INTERMEDIATE_LATITUDE_3, "longitude": INTERMEDIATE_LONGITUDE_3} ], "destination": {"latitude": DESTINATION_LATITUDE, "longitude": DESTINATION_LONGITUDE}}}' \ -H 'X-Goog-User-Project: PROJECT_NUMBER' \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer ACCESS_TOKEN" \ "https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes?selectedRouteId=SELECTED_ROUTE_ID"
Memanfaatkan atribut rute kustom
Untuk meningkatkan pengelolaan rute dan analisis data Anda dalam Roads Management Insights, objek SelectedRoute
menyertakan kolom route_attributes
.
Gunakan kolom routeAttributes
untuk menentukan properti kustom Anda sendiri untuk
rute individual, dengan setiap atribut adalah pasangan nilai kunci. Anda dapat memberikan hingga 10 pasangan nilai kunci kustom per rute.
Atribut ini berguna untuk mengidentifikasi rute tertentu atau untuk mengelompokkan rute berdasarkan kriteria yang relevan dengan kebutuhan Anda.
Berikut beberapa contoh atribut rute yang dapat Anda gunakan:
"road_classification": "highway"
"maintenance_zone": "north_district"
"event_id": "marathon_2024"
"pavement_type": "asphalt"
Ikuti panduan berikutnya saat menentukan kolom routeAttributes
:
- Kunci tidak boleh diawali dengan awalan
goog
. - Panjang setiap kunci dan setiap nilai tidak boleh melebihi 100 karakter.
Kemudian, Anda dapat menggunakan routeAttributes
kustom ini dalam Roads Management Insights
dengan cara berikut:
- Memfilter notifikasi Pub/Sub: Anda dapat menyetel filter pada langganan Pub/Sub untuk menerima pembaruan hanya untuk rute yang cocok atau tidak cocok dengan kunci atribut tertentu dan nilai yang sesuai.
- Sempurnakan analisis BigQuery: Di tabel BigQuery, Anda dapat menggunakan atribut ini untuk memfilter rute tertentu berdasarkan nilai atribut. Anda juga dapat mengelompokkan rute menurut kunci atribut tertentu untuk analisis data yang lebih bertarget.
Contoh kode berikutnya menunjukkan cara membuat SelectedRoute
dengan
routeAttributes
kustom.
curl -X POST -d ' {"dynamic_route": { origin: {latitude: ORIGIN_LATITUDE ,longitude: ORIGIN_LONGITUDE}, destination: {latitude: DESTINATION_LATITUDE, longitude: DESTINATION_LONGITUDE}}, route_attributes: {"ATTRIBUTE_KEY":"ATTRIBUTE_VALUE"}}' \ -H 'X-Goog-User-Project: PROJECT_NUMBER' \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer ACCESS_TOKEN" \ "https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes?selectedRouteId=SELECTED_ROUTE_ID"