Ara ara noktalar, rotanın geçmesini istediğiniz başlangıç ve hedef arasında bulunan konumlardır. Ara bir ara nokta bir durak olabilir veya geçilecek bir konum olarak belirtebilirsiniz. Bir durak için referans noktası örneği için Rota üzerinde durak ayarlama bölümüne bakın. Geçişe yönelik bir ara nokta örneği için Geçişe yönelik rota için nokta ayarlama başlıklı makaleyi inceleyin.
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 ara ara nokta için yanıttaki Rota nesnesi (REST) veya Rota nesnesi (gRPC), yolculuğun ilgili ayağıyla ilgili ayrıntıları sağlamak için legs
dizisine bir giriş ekler.
Rotanın her ayağı bir 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 bir ara nokta ayarlama
Aşağıdaki örnekte, bir rotanın POST isteği gövdesine tek bir ara ara nokta eklemek için intermediates
dizi ö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
routes.legs
,RouteLeg
nesnesinin tamamına karşılık gelir.
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ç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": [ { ...