Ara ara noktalar ayarla

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": [
                {
                  ...