Ara ara noktalar, rotanın geçmesini istediğiniz kalkış ve varış noktaları arasındaki konumlardır. Ara ara nokta, bir durak olabilir veya bunu geçilecek bir konum olarak belirtebilirsiniz. Bir durak için ara nokta örneği için Rota boyunca durak ayarlama bölümünü inceleyin. Geçiş için ara nokta örneği için Geçiş yolu için nokta ayarlama bölümüne göz atın.
En fazla 25 ara ara nokta tanımlamak için computeRoutes yönteminin (REST) veya ComputeRoutes yönteminin (gRPC) intermediates
dizi özelliğini kullanın.
İstekteki her bir ara referans noktası için yanıttaki Rota nesnesi (REST) veya Rota nesnesi (gRPC), yolculuğun söz konusu ayağıyla ilgili ayrıntıları sağlamak için 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 referans noktası ayarlama
Aşağıdaki örnekte, bir rotanın POST isteği gövdesine tek bir ara ara nokta eklemek için intermediates
dizisi özelliği kullanılmaktadır.
Bu örnekte, X-Goog-FieldMask
üst bilgisinde, yanıtta aşağıdaki alanların döndürüleceğini belirten bir yanıt alanı maskesi kullanılmaktadır:
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ıdan gelen yanıt legs
dizisini içeriyor. Ayağın her adımı bir 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": [ { ...