Ara ara noktalar ayarla

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