หน้านี้อธิบายวิธีสร้างเส้นทางและเพิ่มแอตทริบิวต์ที่กำหนดเองโดยใช้ 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 ' {"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"
เมื่อสำเร็จ 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" }
สร้างเส้นทางแบบเป็นชุด
หากต้องการสร้างเส้นทางหลายเส้นทางในคำขอเดียว ให้ใช้ปลายทาง
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": [ { "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"
เมื่อสำเร็จ 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" } ] }
สร้างเส้นทางที่มีจุดแวะพักระหว่างทาง
หากต้องการสร้างเส้นทางที่ผ่านจุดที่เฉพาะเจาะจงระหว่างต้นทางกับปลายทาง ให้ใส่อาร์เรย์ intermediates
ภายในออบเจ็กต์ dynamicRoute
ในเนื้อหาคำขอ องค์ประกอบแต่ละรายการในอาร์เรย์ intermediates
คือจุดอ้างอิงที่กำหนดโดย latitude
และ longitude
เส้นทางหนึ่งๆ มีจุดอ้างอิงได้สูงสุด 25 จุด
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้าง SelectedRoute
ที่มี
จุดแวะพักกลางทาง
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"
ใช้แอตทริบิวต์เส้นทางที่กำหนดเอง
ออบเจ็กต์ SelectedRoute
มีฟิลด์ route_attributes
เพื่อเพิ่มประสิทธิภาพการจัดการเส้นทางและการวิเคราะห์ข้อมูลภายในข้อมูลเชิงลึกด้านการจัดการถนน
ใช้ฟิลด์ routeAttributes
เพื่อกำหนดพร็อพเพอร์ตี้ที่กำหนดเองสำหรับ
เส้นทางแต่ละเส้น โดยที่แอตทริบิวต์แต่ละรายการเป็นคู่คีย์-ค่า คุณระบุคู่คีย์-ค่าที่กำหนดเองได้สูงสุด 10 คู่ต่อเส้นทาง
แอตทริบิวต์เหล่านี้มีประโยชน์ในการระบุเส้นทางที่เฉพาะเจาะจงหรือจัดกลุ่ม เส้นทางตามเกณฑ์ที่เกี่ยวข้องกับความต้องการของคุณ
ตัวอย่างแอตทริบิวต์เส้นทางที่คุณใช้ได้มีดังนี้
"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 ' {"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"