Ara ara noktalar ayarla

Ara yol işaretleri, rotanın başlangıç ve varış noktası arasından geçmesini istediğiniz konumlardır. Ara yol noktası bir durak olabilir veya geçilecek bir konum olarak belirtebilirsiniz. Durak için bir yol noktası örneğine Rota üzerinde durak ayarlama başlıklı makaleden ulaşabilirsiniz. Geçilecek bir yol noktası örneği için Geçilecek 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 dizisi mülkünü kullanın.

İstekteki her ara yol noktası için yanıttaki Rota nesnesi (REST) veya Rota nesnesi (gRPC), yolculuğun bu bölümünün ayrıntılarını sağlamak üzere legs dizisine bir giriş ekler.

Bir rotanın her bölümü bir RouteLeg (REST) veya RouteLeg (gRPC) nesnesi ile temsil edilir. Yanıt alanı maskesini kullanarak döndürülecek RouteLeg alanlarını kontrol edin.

Örnek: Ara yol noktası ayarlama

Aşağıdaki örnekte, bir rotanın POST istek gövdesine tek bir ara yol noktası eklemek için intermediates dizi özelliği kullanılır.

Bu örnekte, X-Goog-FieldMask üstbilgisinde 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çerir. Bacağın her adımı bir RouteLegStep (REST) veya RouteLegStep (gRPC) nesnesi ile 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": [
                {
                  ...