Ara ara noktalar ayarla

Ara ara noktalar, kalkış ve varış noktaları arasındaki konumlardır istediğiniz URL'yi seçin. Ara nokta bir durak ya da bunu geçecek bir konum olarak belirtebilirsiniz. Örnek bir referans noktası için bir durak için Rota üzerinde durak ayarlama başlıklı makaleyi inceleyin. Mesela bir ara hedef noktası da vardır. Geçiş noktası olarak rota için bir nokta belirleyin.

Şu öğenin intermediates dizi özelliğini kullanın: computeRoutes yöntemini (REST) veya ComputeRoutes yöntemini (gRPC) kullanır.

İstekteki her ara ara nokta için Rota nesnesi (REST) veya Rota nesnesi (gRPC) yanıtı, legs dizisine şunun için ayrıntıları sağlayan bir giriş ekler: yolculuğunuzun o ayağıdır.

Rotanın her ayağı bir RouteLeg (REST) veya RouteLeg (gRPC) nesnesidir. Döndürülecek RouteLeg alanlarını kontrol etmek için yanıt alanı maskesi oluşturun.

Örnek - Ara bir ara nokta ayarlama

Aşağıdaki örnekte, tek bir sütun eklemek için intermediates dizi özelliği kullanılmaktadır bir rotanın POST isteği gövdesine ara ara nokta.

Bu örnekte, X-Goog-FieldMask başlığında bir yanıt alanı maskesi kullanılmaktadır şu alanları döndüreceğini belirtir:

  • 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. Bacağın her adımı bir RouteLegStep (REST) veya RouteLegStep (gRPC) nesnesidir.

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