Ara ara noktalar ayarla

Avrupa Ekonomik Alanı (AEA) geliştiricileri

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