Ara yol noktaları, başlangıç ve varış noktası arasında rotanın geçmesini istediğiniz yerlerdir. Ara nokta bir durak olabilir veya geçilecek bir konum olarak belirtilebilir. Bir durak için yol noktası örneği görmek istiyorsanız Rota üzerindeki bir konuma durak ekleme başlıklı makaleyi inceleyin. Geçiş yapılacak bir ara nokta örneği için Geçiş yapılacak bir rota için nokta ayarlama başlıklı makaleyi inceleyin.
En fazla 25 ara yol noktası tanımlamak için computeRoutes yönteminin (REST) veya ComputeRoutes yönteminin (gRPC) intermediates
dizi özelliğini kullanın.
İstekteki her ara yol noktası için yanıttaki Route nesnesi (REST) veya Route nesnesi (gRPC), yolculuğun bu ayağıyla ilgili ayrıntıları sağlamak üzere legs
dizisine bir giriş ekler.
Bir rotanın her ayağı RouteLeg (REST) veya RouteLeg (gRPC) nesnesiyle temsil edilir.
Yanıt alan maskesini kullanarak hangi RouteLeg
alanlarının döndürüleceğini kontrol edin.
Örnek: Ara nokta ayarlama
Aşağıdaki örnekte, bir rotanın POST isteği gövdesine tek bir ara yol noktası eklemek için intermediates
dizi özelliği kullanılmaktadır.
Bu örnekte, X-Goog-FieldMask
üstbilgisinde yanıt alan maskesi kullanılarak yanıtta aşağıdaki alanların döndürülmesi belirtilir:
routes.duration
routes.distanceMeters
RouteLeg
nesnesinin tamamına karşılık gelenroutes.legs
.
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'
Bu çağrının yanıtı legs
dizisini içerir. Rotanın her adımı, RouteLegStep (REST) veya RouteLegStep (gRPC) nesnesiyle temsil edilir.
{ "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": [ { ...