หน้านี้อธิบายวิธีสร้างเส้นทางและเพิ่มแอตทริบิวต์ที่กำหนดเองโดยใช้ Roads Selection API ในส่วนต่อไปนี้
- สร้างเส้นทาง: กำหนดเส้นทางเดียวโดยใช้
createปลายทาง - สร้างเส้นทางเป็นชุด: กำหนดเส้นทางหลายเส้นทางใน
คำขอเดียวโดยใช้ปลายทาง
batchCreate - สร้างเส้นทางที่มีจุดแวะพักระหว่างทาง: กำหนด เส้นทางที่มีจุดแวะพักระหว่างทางได้สูงสุด 25 จุด
- ใช้ประโยชน์จากแอตทริบิวต์เส้นทางที่กำหนดเอง: เพิ่มคู่คีย์-ค่า ที่กำหนดเองได้สูงสุด 10 คู่ลงในเส้นทางเพื่อวัตถุประสงค์ในการจัดระเบียบ
สร้างเส้นทาง
หากต้องการสร้างเส้นทาง ให้ส่งคำขอ POST ไปยังปลายทาง create
https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes?selectedRouteId=SELECTED_ROUTE_ID
เนื้อหาคำขอ ต้องเป็นออบเจ็กต์ JSON ที่กำหนดทรัพยากร SelectedRoute
ออบเจ็กต์นี้จะระบุข้อมูลต่อไปนี้
- ออบเจ็กต์
dynamicRouteที่มีข้อมูลต่อไปนี้:originของเส้นทางที่เลือกdestinationของเส้นทางที่เลือก- `จุดแวะพักระหว่างทาง` หรือที่เรียกว่าจุดแวะพักของเส้นทาง
intermediates
selectedRouteIdที่ไม่ซ้ำกัน ค่านี้ต้องมีความยาว 4-63 อักขระและใช้ได้เฉพาะอักขระที่เป็นตัวอักษรและตัวเลขเท่านั้น หากคุณไม่ได้ระบุรหัส ระบบจะสร้างรหัสที่ไม่ซ้ำกันสำหรับเส้นทางที่เลือก
ตัวอย่างโค้ดต่อไปนี้แสดงโครงสร้างของคำขอ POST ไปยัง
create ปลายทาง
curl -X POST -d '
{
"dynamicRoute": {
"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"เมื่อสำเร็จ API จะแสดงทรัพยากร SelectedRoute การตอบกลับ
จะมี selectedRouteId ในฟิลด์ name คุณสามารถใช้
selectedRouteId นี้เพื่อดึงข้อมูลหรือลบทรัพยากร SelectedRoute
ตัวอย่างโค้ดต่อไปนี้แสดงโครงสร้างของการตอบกลับปลายทางที่สำเร็จ
create
{
"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"
}
สร้างเส้นทางที่มีจุดแวะพักระหว่างทาง
หากต้องการสร้างเส้นทางที่ผ่านจุดที่เฉพาะเจาะจงระหว่างต้นทางกับ
ปลายทาง ให้ใส่อาร์เรย์ intermediates ภายใน
dynamicRoute ออบเจ็กต์ ในเนื้อหาคำขอ องค์ประกอบแต่ละรายการในอาร์เรย์
intermediates คือจุดอ้างอิงที่กำหนดโดย latitude และ
longitude โดยเส้นทางจะมีจุดอ้างอิงได้สูงสุด 25 จุด
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้าง SelectedRoute ที่มี
จุดแวะพักระหว่างทาง
curl -X POST -d '
{
"dynamicRoute": {
"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"ใช้ประโยชน์จากแอตทริบิวต์เส้นทางที่กำหนดเอง
เพื่อปรับปรุงการจัดการเส้นทางและการวิเคราะห์ข้อมูลภายในข้อมูลเชิงลึกสำหรับการจัดการเส้นทางจราจร ออบเจ็กต์ SelectedRoute มีฟิลด์ routeAttributes
ใช้ฟิลด์ routeAttributes เพื่อกำหนดพร็อพเพอร์ตี้ที่กำหนดเองสำหรับ
เส้นทางแต่ละเส้นทาง โดยแอตทริบิวต์แต่ละรายการจะเป็นคู่คีย์-ค่า คุณระบุคู่คีย์-ค่าที่กำหนดเองได้สูงสุด 25 คู่ต่อเส้นทาง
แอตทริบิวต์เหล่านี้มีประโยชน์สำหรับการระบุเส้นทางที่เฉพาะเจาะจงหรือการจัดกลุ่มเส้นทางตามเกณฑ์ที่เกี่ยวข้องกับความต้องการของคุณ
ตัวอย่างแอตทริบิวต์เส้นทางที่คุณใช้ได้มีดังนี้
"road_classification": "highway""maintenance_zone": "north_district""event_id": "marathon_2024""pavement_type": "asphalt"
ทำตามหลักเกณฑ์ต่อไปนี้เมื่อกำหนดฟิลด์ routeAttributes
- คีย์ต้องไม่ขึ้นต้นด้วยคำนำหน้า
goog - ความยาวของคีย์และค่าแต่ละรายการต้องไม่เกิน 100 อักขระ
จากนั้นคุณจะใช้ routeAttributes ที่กำหนดเองเหล่านี้ภายในข้อมูลเชิงลึกสำหรับการจัดการเส้นทางจราจร ได้ด้วยวิธีต่อไปนี้
- กรองการแจ้งเตือน Pub/Sub: คุณสามารถตั้งค่าตัวกรองในการสมัครใช้บริการ Pub/Sub เพื่อรับการอัปเดตเฉพาะเส้นทางที่ตรงกับหรือไม่ตรงกับคีย์แอตทริบิวต์ที่เฉพาะเจาะจงและค่าที่เกี่ยวข้อง
- ปรับแต่งการวิเคราะห์ BigQuery: ในตาราง BigQuery คุณสามารถใช้แอตทริบิวต์เหล่านี้เพื่อกรองเส้นทางที่เฉพาะเจาะจงตามค่าของแอตทริบิวต์ นอกจากนี้ คุณยังจัดกลุ่มเส้นทางตามคีย์แอตทริบิวต์ที่เฉพาะเจาะจงเพื่อการวิเคราะห์ข้อมูลที่ตรงเป้าหมายมากขึ้นได้ด้วย
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้าง SelectedRoute ที่มี
routeAttributes ที่กำหนดเอง
curl -X POST -d '
{
"dynamicRoute": {
"origin": {
"latitude": ORIGIN_LATITUDE,
"longitude": ORIGIN_LONGITUDE
},
"destination": {
"latitude": DESTINATION_LATITUDE,
"longitude": DESTINATION_LONGITUDE
}
},
"routeAttributes": {
"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"สร้างเส้นทางเป็นชุด
หากต้องการสร้างเส้นทางหลายเส้นทางในคำขอเดียว ให้ใช้
batchCreate
ปลายทาง ปลายทางนี้ช่วยให้คุณกำหนดเส้นทางได้สูงสุด 1,000 เส้นทางในการเรียกครั้งเดียว
ส่งคำขอ POST ไปยังปลายทาง batchCreate
https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes:batchCreate
URL ใช้ไวยากรณ์การแปลงรหัส gRPC
เนื้อหาคำขอ ต้องเป็นออบเจ็กต์ JSON ที่มีอาร์เรย์ requests
ออบเจ็กต์แต่ละรายการภายในอาร์เรย์นี้คือ CreateSelectedRouteRequest ที่
กำหนดทรัพยากร SelectedRoute แต่ละรายการ
ตัวอย่างโค้ดต่อไปนี้แสดงโครงสร้างของคำขอ POST ไปยังปลายทาง
batchCreate
curl -X POST -d '
{
"requests": [
{
"selectedRoute": {
"dynamicRoute": {
"origin": {
"latitude": ORIGIN_LATITUDE_1,
"longitude": ORIGIN_LONGITUDE_1
},
"destination": {
"latitude": DESTINATION_LATITUDE_1,
"longitude": DESTINATION_LONGITUDE_1
}
}
},
"selectedRouteId": "route-one"
},
{
"selectedRoute": {
"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"เมื่อสำเร็จ API จะแสดงการตอบกลับที่มีอาร์เรย์ของทรัพยากร
SelectedRoute ที่สร้างขึ้น
ตัวอย่างโค้ดต่อไปนี้แสดงโครงสร้างของการตอบกลับปลายทาง 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"
}
]
}