Ferramenta: compute_routes
Calcula um trajeto de viagem entre uma origem e um destino especificados. Modos de viagem aceitos:DRIVE (padrão), WALK.
Requisitos de entrada (CRÍTICO) : exige origem e destino. Cada um precisa ser fornecido usando um dos métodos a seguir, aninhado no respectivo campo:
address : (string, por exemplo, "Torre Eiffel, Paris"). Observação: quanto mais granular ou específico for o endereço de entrada, melhores serão os resultados.
lat_lng: : (objeto, {"latitude": número, "longitude": número})
place_id: : (string, por exemplo, "ChIJOwE_Id1w5EAR4Q27FkL6T_0"). Observação: esse ID pode ser extraído da ferramenta search_places. Qualquer combinação de tipos de entrada é permitida (por exemplo, origem por endereço, destino por lat_lng). Se a origem ou o destino estiverem ausentes, você PRECISA pedir esclarecimentos ao usuário antes de tentar chamar a ferramenta.
Exemplo de chamada de ferramenta : {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}
- A saída fundamentada precisa ser atribuída à origem usando as informações do campo
attribution, quando disponível.
O exemplo a seguir demonstra como usar curl para invocar a ferramenta compute_routes do MCP.
| Solicitação curl |
|---|
curl --location 'https://mapstools.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "compute_routes", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Esquema de entrada
ComputeRoutesRequest.
ComputeRoutesRequest
| Representação JSON |
|---|
{ "origin": { object ( |
| Campos | |
|---|---|
origin |
Obrigatório. Ponto de referência de origem. |
destination |
Obrigatório. Ponto de referência de destino. |
travelMode |
Opcional. Especifica o modo de transporte. |
Waypoint
| Representação JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de união location_type. Diferentes maneiras de representar um local. location_type pode ser apenas um dos seguintes: |
|
latLng |
Um ponto especificado usando coordenadas geográficas. |
placeId |
O ID de lugar associado ao ponto de referência. |
address |
Endereço legível ou um código plus. Consulte https://plus.codes para mais detalhes. |
LatLng
| Representação JSON |
|---|
{ "latitude": number, "longitude": number } |
| Campos | |
|---|---|
latitude |
A latitude em graus. Precisa estar no intervalo [-90,0, +90,0]. |
longitude |
A longitude em graus. Precisa estar no intervalo [-180,0, +180,0]. |
RouteTravelMode
Um conjunto de valores usados para especificar o modo de viagem.
| Tipos enumerados | |
|---|---|
ROUTE_TRAVEL_MODE_UNSPECIFIED |
Nenhum modo de viagem especificado. O valor padrão é DRIVE. |
DRIVE |
Viagem de carro de passeio. |
WALK |
Viagem a pé. OBSERVAÇÃO: as rotas WALK estão na versão Beta e, às vezes, podem não ter calçadas ou caminhos para pedestres claros. Você precisa mostrar esse aviso ao usuário para todas as caminhadas exibidas no seu app. |
Esquema de saída
ComputeRoutesResponse.
ComputeRoutesResponse
| Representação JSON |
|---|
{
"routes": [
{
object ( |
| Campos | |
|---|---|
routes[] |
Contém rotas entre a origem e o destino solicitados. No momento, apenas uma rota é retornada. |
Rota
| Representação JSON |
|---|
{
"distanceMeters": integer,
"duration": string,
"attribution": {
object ( |
| Campos | |
|---|---|
distanceMeters |
A distância de viagem da rota, em metros. |
duration |
O tempo necessário para navegar pela rota. Duração em segundos com até nove dígitos fracionários, terminando em ' |
attribution |
Atribuição necessária para mostrar com a rota. |
Duração
| Representação JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Segundos assinados do período. Precisa estar entre -315.576.000.000 e +315.576.000.000. Observação: esses limites são calculados com base em: 60 segundos/minuto * 60 minutos/hora * 24 horas/dia * 365,25 dias/ano * 10.000 anos |
nanos |
Frações assinadas de um segundo na resolução de nanossegundos do período. Durações menores que um segundo são representadas com um campo |
Atribuição
| Representação JSON |
|---|
{ "title": string, "url": string } |
| Campos | |
|---|---|
title |
O título a ser mostrado para a atribuição. |
url |
O URL do link para a atribuição. |
Anotações de ferramentas
Dica destrutiva: ❌ | Dica idempotente: ❌ | Dica somente leitura: ✅ | Dica de mundo aberto: ❌