Definir waypoints intermediários

Desenvolvedores do Espaço Econômico Europeu (EEE)

Os waypoints intermediários são locais especificados entre a origem e o destino que você quer que o trajeto passe.

É possível definir até 25 pontos de parada intermediários em uma única solicitação usando a propriedade de matriz intermediates do método REST computeRoutes ou o método gRPC ComputeRoutes.

Paradas x waypoints de passagem

É possível configurar um waypoint intermediário como um local de parada ou de passagem:

  • Parada: por padrão, o veículo para no local. Cada ponto de parada divide a rota adicionando uma entrada RouteLeg à matriz legs na resposta. Para mais informações, consulte Definir uma parada em uma rota.
  • Waypoint de passagem com "via" definido como true: o veículo passa pelo local sem parar. Os waypoints de passagem não adicionam entradas à matriz legs. Para mais informações, consulte Definir um ponto para uma rota passar.

Trechos do trajeto e waypoints intermediários

Para cada parada intermediária em uma solicitação, a resposta contém um objeto RouteLeg separado na matriz routes.legs.

Por exemplo, um trajeto com uma origem, uma parada intermediária e um destino contém dois trechos: * Trecho 1: da origem até a parada intermediária. * Trecho 2: da parada intermediária até o destino.

Exemplo: solicitação com um ponto de parada intermediário

O exemplo a seguir usa a matriz intermediates para adicionar uma única parada intermediária a uma rota.

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "intermediates": [
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      }
    }
  ],
  "travelMode": "DRIVE"
}' \
-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'

Resposta com vários trechos de rota

Como o waypoint intermediário na solicitação é uma parada que não define "via": true, a resposta divide o trajeto em dois trechos na matriz legs:

{
  "routes": [
    {
      "distanceMeters": 805,
      "duration": "248s",
      "legs": [
        {
          "distanceMeters": 207,
          "duration": "89s",
          "startLocation": {
            "latLng": {
              "latitude": 37.4197318,
              "longitude": -122.0826233
            }
          },
          "endLocation": {
            "latLng": {
              "latitude": 37.419734,
              "longitude": -122.0807792
            }
          }
        },
        {
          "distanceMeters": 598,
          "duration": "159s",
          "startLocation": {
            "latLng": {
              "latitude": 37.419734,
              "longitude": -122.0807792
            }
          },
          "endLocation": {
            "latLng": {
              "latitude": 37.4176166,
              "longitude": -122.0793882
            }
          }
        }
      ]
    }
  ]
}