Definir uma parada ao longo de um trajeto

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

Você pode definir uma parada ao longo de um trajeto, como para um embarque ou desembarque, de uma das duas maneiras:

  • Adicionar um ponto de parada intermediário: essa é a opção padrão. Adicione um ponto de passagem 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 vias inadequados para paradas, como rodovias, túneis ou viadutos, defina vehicleStopover: true em um ponto de parada.

Adicionar um ponto de parada 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:

  • A rota é dividida em RouteLeg segmentos: cada segmento conecta uma parada à próxima.
  • A coordenada é ajustada a uma via: o mecanismo de rotas 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 passagem 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.

Especificar um vehicleStopover para adequação de coleta e entrega

Embora um waypoint 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 referência intermediário padrão: se ajusta à rodovia ou ao túnel abaixo se estiver geometricamente mais próximo 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 referência

O exemplo a seguir demonstra como definir vehicleStopover: true em um ponto de parada 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.