Definir uma parada ao longo de um trajeto

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

É possível definir uma parada ao longo de um trajeto, como para uma coleta ou entrega, de uma das duas maneiras:

  • Adicionar um ponto de parada intermediário: essa é a opção padrão. Adicione um ponto de parada intermediário entre a origem e o destino na matriz intermediates. O mecanismo de roteamento ajusta o ponto de referência à via navegável mais próxima e divide o trajeto em RouteLeg segmentos conectados por essa parada.
  • Especifique um vehicleStopover: se você quiser que o mecanismo de roteamento faça uma análise adicional para evitar trechos de via inadequados para paradas, como rodovias, túneis ou viadutos, defina vehicleStopover: true em um ponto de parada.

Adicionar um ponto de passagem intermediário

Para definir uma parada ao longo de um trajeto, adicione um ponto de referência intermediário à matriz intermediates na sua solicitação.

Adicionar um ponto de parada intermediário tem os seguintes efeitos:

  • O trajeto é dividido em RouteLeg segmentos: cada segmento conecta uma parada à próxima.
  • A coordenada é ajustada a uma via: o mecanismo de roteamento ajusta sua coordenada de latitude e longitude, que pode estar em um telhado ou em um quintal, ao segmento de via navegável mais próximo.

Para muitas vias urbanas, o ajuste à via mais próxima oferece um local de parada prático. No entanto, o ajuste não determina se esse trecho da via é adequado para parar, como quando a via mais próxima é uma rodovia ou um túnel.

Exemplo: adicionar um ponto de parada intermediário

O exemplo a seguir demonstra como definir uma parada em uma rota adicionando um ponto de referência intermediário em uma solicitação POST computeRoutes:

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'

Para mais informações sobre pontos de parada intermediários e trechos de rota, consulte Definir pontos de parada intermediários.

Especifique um vehicleStopover para adequação de embarque e desembarque

Embora um ponto de parada intermediário padrão se ajuste à via mais próxima, essa via nem sempre é adequada para uma parada de veículo. Quando você quiser que o mecanismo de roteamento faça uma análise adicional para avaliar a adequação da via para coleta ou desembarque, defina vehicleStopover: true no ponto de parada.

Quando você define vehicleStopover: true, o mecanismo de roteamento avalia os segmentos de via candidatos e tenta evitar vias inadequadas para paradas, como rodovias, túneis e viadutos.

Por exemplo, considere um local em que uma via de superfície passa diretamente sobre uma rodovia dentro de um túnel: * Ponto de parada intermediário padrão: se ajusta à rodovia ou ao túnel abaixo se estiver geometricamente mais perto da sua coordenada. * Parada do veículo: realiza uma análise adicional para desviar da rodovia e do túnel, ajustando a parada a uma via de superfície adequada para estacionar.

Exemplo: especificar vehicleStopover em um ponto de parada

O exemplo a seguir demonstra como definir vehicleStopover: true em um ponto de referência intermediário em uma solicitação POST completa:

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
        }
      },
      "vehicleStopover": true
    }
  ],
  "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'

Para mais informações sobre tipos e opções de pontos de parada, consulte Tipos e opções de pontos de parada.