Calcular o resumo do trajeto
Para usar o Text Search (novo) ou o Nearby Search (novo) para calcular a duração e a distância da viagem até cada lugar na resposta:
-
Transmita o parâmetro
routingParameters.originna solicitação para especificar as coordenadas de latitude e longitude da origem do trajeto. Esse parâmetro é obrigatório para calcular a duração e a distância até cada lugar na resposta. -
Inclua
routingSummariesna máscara de campo para que a resposta inclua a matrizroutingSummaries. Essa matriz contém a duração e a distância da origem do trajeto até cada lugar na resposta.
O APIs Explorer permite fazer solicitações em tempo real para que você possa se familiarizar com a API e as opções dela:
Usar o Text Search (novo)
Na solicitação a seguir, você calcula a duração e a distância da viagem até cada lugar na resposta do Text Search (novo):
curl -X POST -d '{
"textQuery" : "Spicy Vegetarian Food in Sydney, Australia",
"routingParameters": {
"origin": {
"latitude": -33.8688,
"longitude": 151.1957362
}
}
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
'https://places.googleapis.com/v1/places:searchText'A resposta contém duas matrizes JSON: a matriz places contém os lugares correspondentes e a matriz routingSummaries contém a duração e a distância da viagem até cada lugar:
{ "places": [ { object (Place) } ] "routingSummaries": [ { object (RoutingSummary) } }
Cada elemento na matriz routingSummaries está no local da matriz correspondente como o lugar na matriz places. Ou seja, o elemento em routingSummaries[0] corresponde ao lugar em places[0].
O comprimento da matriz routingSummaries é o mesmo que o comprimento da matriz places. No caso em que o routingSummary de um lugar não está disponível, a entrada da matriz fica vazia.
Como este exemplo calcula a duração e a distância da origem do trajeto até cada lugar, o campo routingSummaries.legs na resposta contém um único objeto Leg que contém a duration e distanceMeters da origem do trajeto até o lugar.
{ "places": [ { "formattedAddress": "1, Westfield Sydney Central Plaza, 450 George St, Sydney NSW 2000, Australia", "displayName": { "text": "Gözleme King Sydney", "languageCode": "en" } }, { "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, … ] "routingSummaries": [ { "legs": [ { "duration": "597s", "distanceMeters": 2607 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3fa97cd745:0x6aecf365bf497c08!3e0" }, { "legs": [ { "duration": "562s", "distanceMeters": 2345 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3da97f60c1:0x845f3273bd764f6c!3e0" }, … ] }
Neste exemplo, é possível observar que a duração e a distância da origem do trajeto até o primeiro lugar nos resultados são de 597 segundos e 2.607 metros.
Usar o Nearby Search
Neste exemplo, você calcula a duração e a distância da viagem até cada lugar na resposta do Nearby Search. Este exemplo pesquisa restaurantes em Sydney, na Austrália, e define a restrição de local e a origem do trajeto para a mesma coordenada de latitude e longitude:
curl -X POST -d '{
"includedTypes": ["restaurant"],
"maxResultCount": 10,
"locationRestriction": {
"circle": {
"center": {
"latitude": -33.8688,
"longitude": 151.1957362},
"radius": 500.0
}
},
"routingParameters": {
"origin": {
"latitude": -33.8688,
"longitude": 151.1957362
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key:API_KEY" \
-H "X-Goog-FieldMask: places.displayName,routingSummaries" \
https://places.googleapis.com/v1/places:searchNearbyNão é necessário usar as mesmas coordenadas para a locationRestriction e a origem do trajeto. Por exemplo, você define a locationRestriction para o ponto central de Sydney para direcionar os resultados da pesquisa para esse círculo. No entanto, você define a origem do trajeto para as coordenadas da sua casa, ou seja, para um local diferente dentro do círculo de pesquisa. A solicitação direciona os resultados da pesquisa para o círculo e calcula os resumos do trajeto com base no local da sua casa.
Especificar opções de viagem
Por padrão, os cálculos de duração e distância são para um carro. No entanto, é possível controlar o tipo de veículo, bem como outras opções, na pesquisa.
-
Use o parâmetro
routingParameters.travelModepara definir o modo de transporte comoDRIVE,BICYCLE,WALK, ouTWO_WHEELER. Para mais informações sobre essas opções, consulte Tipos de veículos disponíveis para rotas. -
Use a propriedade
routingParameters.routingPreferencepara definir a opção de preferência de trajeto comoTRAFFIC_UNAWARE(padrão),TRAFFIC_AWAREouTRAFFIC_AWARE_OPTIMAL. Cada opção tem níveis diferentes de qualidade de dados e latência. Para mais informações, consulte Especificar como e se os dados de trânsito serão incluídos.A propriedade
routingParameters.routingPreferenceafeta as rotas contidas no campodirectionsUride pré-lançamento (pré-GA) porque o Google Maps mostra as opções de trânsito quando abre o link. -
Use a propriedade
routingParameters.routeModifierspara especificaravoidTolls,avoidHighways,avoidFerries, eavoidIndoor. Para mais informações sobre essas opções, consulte Especificar recursos de rota a serem evitados.
No exemplo a seguir, você especifica o modo de viagem como DRIVE e evita rodovias:
curl -X POST -d '{
"textQuery" : "Spicy Vegetarian Food in Sydney, Australia",
"routingParameters": {
"origin": {
"latitude": -33.8688,
"longitude": 151.1957362
},
"travelMode":"DRIVE",
"routeModifiers": {
"avoidHighways": true
}
}
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
'https://places.googleapis.com/v1/places:searchText'Faça um teste
O APIs Explorer permite fazer solicitações de amostra para que você possa se familiarizar com a API e as opções dela.
Selecione o ícone da API api no lado direito da página.
Opcionalmente, edite os parâmetros da solicitação.
Selecione o botão Executar. Na caixa de diálogo, escolha a conta que você quer usar para fazer a solicitação.
No painel do APIs Explorer, selecione o ícone de tela cheia fullscreen para expandir a janela do APIs Explorer.