Receber uma rota mais curta

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

A API Routes pode retornar rotas de carro otimizadas para uma distância de viagem menor quando você ativa rotas de distância mais curta.

Ao solicitar uma rota de distância mais curta, o serviço retorna o seguinte:

  • A rota padrão, que é otimizada principalmente para o tempo estimado de chegada.
  • Uma rota mais curta otimizada para minimizar a distância de viagem em toda a viagem.

O que é e por que usar

Uma rota de distância mais curta prioriza a distância em vez do conforto ou da velocidade de direção. Por exemplo, ela pode preferir estradas locais em vez de rodovias, pegar estradas de terra ou atravessar estacionamentos. Ela não retorna nenhuma manobra que o Google Maps saiba ser ilegal.

Solicitar uma rota de distância mais curta

Sua solicitação precisa atender aos seguintes critérios:

  • Defina travelMode como DRIVE, BICYCLE ou TWO_WHEELER.
  • Defina requestedReferenceRoutes como SHORTER_DISTANCE.
  • Defina uma máscara de campo de resposta para retornar as propriedades de resposta associadas a uma rota de distância mais curta:
    • routes.routeLabels: identifica cada rota como DEFAULT_ROUTE, SHORTER_DISTANCE, ou DEFAULT_ROUTE_ALTERNATE.
    • routes.routeToken: um token de rota que você pode transmitir para o SDK Navigation para recuperar uma rota personalizada.
  • Não inclua nenhum Via ponto de passagem intermediário.
  • Não inclua o parâmetro optimizeWaypointOrder.
  • Opcional: defina uma máscara de campo de resposta para retornar as seguintes propriedades associadas à rota padrão e à rota de distância mais curta:
    • routes.distanceMeters: retorna a distância da rota.
    • routes.duration: retorna a duração da rota.

Para informações de referência, consulte ReferenceRoute e RouteLabel.

Exemplo de solicitação: rota de distância mais curta

O código a seguir mostra uma solicitação de uma rota de distância mais curta. Neste exemplo, você usa a máscara de campo de resposta para retornar campos associados à rota padrão e à rota de distância mais curta com as seguintes máscaras de campo:

  • routes.distanceMeters
  • routes.duration
curl -X POST -H 'content-type: application/json' -d '{
  "origin": {
    "location": {
      "latLng": {
        "latitude": 41.76904801292959,
        "longitude": -72.67374935684933
      }
    }
  },
  "destination": {
    "location": {
      "latLng": {
        "latitude": 41.823042361105024,
        "longitude": -71.40933143059424
      }
    }
  },
  "travelMode":"DRIVE",
  "routingPreference":"TRAFFIC_AWARE",
  "requestedReferenceRoutes": ["SHORTER_DISTANCE"],
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY \
-H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Exemplo de resposta de rota mais curta

{
  "routes": [
    {
      "distanceMeters": 138943,
      "duration": "5373s",
      "routeToken": "CrsCCs4BMssBGq8BCkECFg9eN0MowaEI3Y4KqMEhzOTe-Qi3947kBsb8koUBkvX0oAKJ_b1S4uPoUvzzAYfXA92t_RXyw98Up6qKAaRaABIsNBjodKMdkMYAPMLMIajCwj-zsIxpgyBxOLYjdBBeKgkO3tFDDrj4YgZB5bMaFQAATME12CCCA9MEF-kO2wL_____DyoLHgAOAHN3DggAQQEyBAUBAQM9VDgqPkV88FI_SNO81oLq4JnjYyIXcklWWFo2cjhDZmltdk9NUDQ3aU1nUU0QBRpPCk0KGAoNCgIIAREAAAAAAIBmQBF56SYxqDm4QBISCAAQAxAGEBMQEhgCQgQaAggFIhsKF3JJVlhaLWFOQnZpbXZPTVA0N2lNZ1FNcAEoASIVAACBmRY1BjeCiUQewJGTrQ3DuHRp",
      "routeLabels": [
        "DEFAULT_ROUTE"
      ]
    },
    {
      "distanceMeters": 112610,
      "duration": "7165s",
      "routeToken": "CqgCCrsBMrgBGpwBCjYCFg1SN0MowaEI3Y4KjfqjF6Ls9BXc-QGiqCOpu7FDtfCXxSG2zLOGI_r4uQGc-we_nQ7MLAASLDQY6HSjHZDGg26EAFrPI5Q3NxvGA4ELazy3sLYqno_9eAFD2KxlCqAGQeWzGg4AAMQDGwyiAqwwKQggJCoLHgBsCQ8Acm0XWWcyAgQGPVQ4Kj5FfPBSP0jikPWC95WdhIwBIhdySVZYWjZHR0RiTzV2T01QOUpiQXlBTRAFGk8KTQoYCg0KAggCEQAAAAAAAFlAEU5iEFh5af1AEhIIABADEAYQExASGAJCBBoCCAUiGwoXcklWWFo3S09Cck81dk9NUDlKYkF5QU1wASgCIhUAAIGZFlj_CmMgGE6KGZcsE-tEywM",
      "routeLabels": [
        "SHORTER_DISTANCE"
      ]
    }
  ]
}

Exemplo de solicitação: rota de distância mais curta e econômica

O código a seguir mostra uma solicitação de uma rota de distância mais curta e um trajeto econômico.

`

 curl -X POST -d '{
"origin": {  "location": {  "latLng": {  "latitude": 41.76904801292959,
"longitude": -72.67374935684933  }  }  },  "destination": {  "location": {
"latLng": {  "latitude": 41.823042361105024,  "longitude": -71.40933143059424  }
 }  },  "travelMode":"DRIVE",  "routingPreference":"TRAFFIC_AWARE_OPTIMAL",
"requestedReferenceRoutes": ["SHORTER_DISTANCE", "FUEL_EFFICIENT"] }' 
-H 'Content-Type: application/json'
-H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken'
'https://routes.googleapis.com/directions/v2:computeRoutes'

Exemplo de resposta: rota de distância mais curta e trajeto econômico

Nesse caso, a distância mais curta e o trajeto econômico são os mesmos. Portanto, esse trajeto é retornado e o routeLabel é incluído para os dois tipos de rota.

{  "routes": [  {  "distanceMeters": 138943,  "duration": "5375s",
"routeToken":
"Cr8CCs4BMssBGq8BCkECFg9eN0MowaEI3Y4KqMEhzOTe-Qi3947kBsb8koUBkvX0oAKJ_b1S4uPoUvzzAYfXA92t_RXyw98Up6qKAaRaABIsNBjodKMdkMYAPMLMIajCwj-zsIxpgyBxOLYjdBBeKgkO3tFDDrj4YgZB5bMaFQAATME12CCCA9MEF-kO2wL_____DyoLHgAOAHN3DggAQQEyBAUBAQM9VDgqPkV88FI_SNO81oLq4JnjYyIXS1laWFo4T19JcWVCM2ZFUDFMbms4UXcQBRpTClEKGAoNCgIIAREAAAAAAIBmQBFOYhBYGTy4QBIWCAAQAxAGEBMQEhgCQgQaAggFSgIIASIbChdLWVpYWjlpV0g2ZUIzZkVQMUxuazhRd3ABKAEiFQAAgZkW4Df4cspNNJZWlMZuUUxLPQ",
 "routeLabels": [  "DEFAULT_ROUTE"  ]  },  {  "distanceMeters": 112610,
"duration": "7156s",  "routeToken":
"CqwCCrsBMrgBGpwBCjYCFg1SN0MowaEI3Y4KjfqjF6Ls9BXc-QGiqCOpu7FDtfCXxSG2zLOGI_r4uQGc-we_nQ7MLAASLDQY6HSjHZDGg26EAFrPI5Q3NxvGA4ELazy3sLYqno_9eAFD2KxlCqAGQeWzGg4AAMQDGwyiAqwwKQggJCoLHgBsCQ8Acm0XWWcyAgQGPVQ4Kj5FfPBSP0jikPWC95WdhIwBIhdLWVpYWi1UNklfT055OVlQczhhcWlRSRAFGlMKUQoYCg0KAggCEQAAAAAAAFlAEU5iEFh5af1AEhYIABADEAYQExASGAJCBBoCCAVKAggBIhsKF0tZWlhaNERXSF9PTnk5WVBzOGFxaVFJcAEoAiIVAACBmRaESp2EJS5nmwiEF8KH15_f",
 "routeLabels": [  "FUEL_EFFICIENT",  "SHORTER_DISTANCE"  ]  }  ] }

Regiões compatíveis

As rotas de distância mais curta são compatíveis com todas as regiões.

Faturamento

A Plataforma Google Maps não cobra extra pelo uso de um recurso experimental. Você será cobrado com base no uso da API de acordo com outros parâmetros definidos.

Saiba mais sobre o faturamento da API Routes.