จุดแวะพักระหว่างทางคือสถานที่ระหว่างต้นทางและปลายทางที่คุณต้องการให้เส้นทางผ่าน จุดแวะพักระหว่างทางอาจเป็นจุดจอดรถหรือคุณจะระบุเป็นสถานที่ที่จะผ่านก็ได้ ดูตัวอย่างจุดแวะสำหรับจุดจอดรถได้ที่ตั้งค่าจุดแวะระหว่างเส้นทาง ดูตัวอย่างจุดผ่านได้ที่หัวข้อตั้งจุดสำหรับเส้นทางที่จะผ่าน
ใช้พร็อพเพอร์ตี้อาร์เรย์ intermediates
ของเมธอด computeRoutes (REST) หรือเมธอด ComputeRoutes (gRPC) เพื่อกำหนดจุดแวะพักกลางทางได้สูงสุด 25 จุด
สำหรับจุดแวะพักระหว่างทางแต่ละจุดในคำขอ ออบเจ็กต์เส้นทาง (REST) หรือออบเจ็กต์เส้นทาง (gRPC) ในคำตอบจะเพิ่มรายการลงในอาร์เรย์ legs
เพื่อระบุรายละเอียดของเส้นทางนั้น
แต่ละช่วงของเส้นทางจะแสดงด้วยออบเจ็กต์ RouteLeg (REST) หรือ RouteLeg (gRPC)
ควบคุมช่อง RouteLeg
ที่จะแสดงผลโดยใช้มาสก์ช่องคำตอบ
ตัวอย่าง - ตั้งจุดแวะพักกลางทาง
ตัวอย่างต่อไปนี้ใช้พร็อพเพอร์ตี้อาร์เรย์ intermediates
เพื่อเพิ่มจุดแวะพักระหว่างทางเดียวลงในเนื้อหาคำขอ POST ของเส้นทาง
ตัวอย่างนี้ใช้มาสก์ช่องคำตอบในส่วนหัว X-Goog-FieldMask
ที่ระบุให้แสดงผลช่องต่อไปนี้ในการตอบกลับ
routes.duration
routes.distanceMeters
routes.legs
ที่สอดคล้องกับออบเจ็กต์RouteLeg
ทั้งหมด
curl -X POST -d '{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } }, "sideOfRoad": true }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, "intermediates": [ { "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0807784 } } } ], "travelMode": "DRIVE", "routingPreference": "TRAFFIC_AWARE", "departureTime": "2022-10-15T15:01:23.045123456Z", "computeAlternativeRoutes": false, "routeModifiers": { "avoidTolls": false, "avoidHighways": false, "avoidFerries": false }, "languageCode": "en-US", "units": "IMPERIAL" }' -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs' 'https://routes.googleapis.com/directions/v2:computeRoutes'
การตอบกลับจากการเรียกใช้นี้มีอาร์เรย์ legs
แต่ละขั้นตอนของเส้นทางจะแสดงโดยออบเจ็กต์ RouteLegStep (REST) หรือ RouteLegStep (gRPC)
{ "routes": [ { "legs": [ # First leg { "distanceMeters": 207, "duration": "89s", "staticDuration": "89s", "polyline": { "encodedPolyline": "ipkcFjgchVd@@@cF]@@oCK?" }, "startLocation": { "latLng": { "latitude": 37.4197318, "longitude": -122.0826233 } }, "endLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.08077919999998 } }, "steps": [ { "distanceMeters": 21, "staticDuration": "6s", "polyline": { "encodedPolyline": "ipkcFjgchVd@@" }, "startLocation": { "latLng": { "latitude": 37.4197318, "longitude": -122.0826233 } }, "endLocation": { "latLng": { "latitude": 37.41954, "longitude": -122.08262750000002 } } }, ... }, # Second leg { "distanceMeters": 598, "duration": "159s", "staticDuration": "159s", "polyline": { "encodedPolyline": "ipkcFz{bhVh@??{@xPBP?J}E{E?" }, "startLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.08077919999998 } }, "endLocation": { "latLng": { "latitude": 37.417616599999995, "longitude": -122.07938820000001 } }, "steps": [ { ...