จุดแวะพักกลางทางคือสถานที่ระหว่างต้นทางกับจุดหมาย ที่คุณต้องการให้เส้นทางผ่าน จุดแวะพักกลางทางอาจเป็นจุดแวะพักหรือ คุณจะระบุเป็นสถานที่ที่จะผ่านก็ได้ ดูตัวอย่างจุดอ้างอิง สำหรับจุดแวะได้ที่ตั้งค่าจุดแวะระหว่างเส้นทาง ดูตัวอย่างของ จุดอ้างอิงเพื่อส่งต่อ ตั้งจุดสำหรับเส้นทางเพื่อส่งต่อ
ใช้พร็อพเพอร์ตี้อาร์เรย์ intermediates
ของเมธอด
computeRoutes (REST) หรือเมธอด
ComputeRoutes (gRPC) เพื่อกำหนดจุดแวะพักกลางสูงสุด 25 จุด
สำหรับจุดแวะพักแต่ละจุดในคำขอ ออบเจ็กต์เส้นทาง (REST) หรือ
ออบเจ็กต์เส้นทาง (gRPC) ใน
การตอบกลับจะเพิ่มรายการลงในอาร์เรย์ legs
เพื่อให้รายละเอียดสำหรับ
การเดินทางช่วงนั้น
แต่ละช่วงของเส้นทางจะแสดงด้วยออบเจ็กต์
RouteLeg (REST) หรือ
RouteLeg (gRPC)
ควบคุมRouteLeg
ฟิลด์ที่จะแสดงโดยใช้
มาสก์ฟิลด์การตอบกลับ
ตัวอย่าง - ตั้งจุดแวะพักกลางทาง
ตัวอย่างต่อไปนี้ใช้พร็อพเพอร์ตี้อาร์เรย์ intermediates
เพื่อเพิ่มจุดแวะพักกลาง 1 จุดลงในเนื้อความของคำขอ 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": [ { ...