Você pode combinar cálculos de resumo de trajetos com a pesquisa ao longo de um trajeto. Nesse caso, o Text Search (novo) retorna a duração e a distância da viagem até cada lugar na resposta e, em seguida, de cada lugar até o destino final da rota.
Para usar o Text Search (novo) para calcular o resumo de roteamento com a pesquisa em uma rota:
Usar a API Routes para calcular um trajeto que retorna uma polilinha do trajeto na resposta.
Use o parâmetro
searchAlongRouteParameters.polyline.encodedPolyline
para transmitir a linha poligonal da rota à Text Search (Nova) e envie os resultados da pesquisa para a rota. A resposta contém lugares que correspondem aos critérios de pesquisa e também estão localizados perto da rota especificada.Inclua
routingSummaries
na 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 roteamento até cada lugar na resposta.
Por padrão, o Text Search (novo) realiza a pesquisa ao longo de todo o trajeto:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food", "searchAlongRouteParameters": { "polyline": { "encodedPolyline": "ROUTE_POLYLINE" } } }' \ -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: a matriz places
, que contém os lugares correspondentes, e a matriz routingSummaries
, que contém a duração e a distância para viajar até cada lugar:
{ "places": [ { "formattedAddress": "1477 Plymouth St suite c, Mountain View, CA 94043, USA", "priceLevel": "PRICE_LEVEL_INEXPENSIVE", "displayName": { "text": "Zareen's", "languageCode": "en" } }, { "formattedAddress": "2464 W El Camino Real C, Mountain View, CA 94040, USA", "priceLevel": "PRICE_LEVEL_INEXPENSIVE", "displayName": { "text": "Veggie Garden", "languageCode": "en" } }, … ], "routingSummaries": [ { "legs": [ { "duration": "285s", "distanceMeters": 1616 }, { "duration": "2466s", "distanceMeters": 58147 } ] }, { "legs": [ { "duration": "696s", "distanceMeters": 4704 }, { "duration": "2787s", "distanceMeters": 58901 } ] }, … ] }
Para cada entrada na matriz legs
, a Pesquisa de texto (nova) retorna um tempo de viagem de duas etapas:
O primeiro trecho contém a duração da viagem e a distância da origem até o lugar. Neste exemplo, a duração e a distância da origem até o primeiro lugar nos resultados é de 285 segundos e 1.616 metros.
A segunda etapa contém a duração e a distância do local até o destino da rota. Neste exemplo, a duração e a distância são 2.466 segundos e 58.147 metros.
Especificar a origem do roteamento, o modo de transporte e os modificadores de rota
É possível modificar o cálculo do resumo da pesquisa e do roteamento especificando a origem, o modo de viagem, os modificadores de rota e as preferências de roteamento. Os modificadores de modo de viagem e de rota funcionam da mesma forma que para calcular resumos de roteamento sem especificar uma rota, conforme mostrado em Especificar opções de viagem.
Por padrão, a primeira etapa de cada resultado contém a distância da origem definida pela poligonal até cada lugar. No entanto, é possível substituir esse padrão especificando explicitamente uma origem de roteamento na solicitação. Se especificado, o primeiro trecho de todas as respostas especifica as distâncias e a duração da origem de roteamento especificada, substituindo a origem da poligonal.
No próximo exemplo, você especifica uma origem de trajeto como as coordenadas de San Mateo, CA, especifica para evitar pedágios e defina o número de resultados como 5:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food", "maxResultCount": 5, "searchAlongRouteParameters": { "polyline": { "encodedPolyline": "ROUTE_POLYLINE" } }, "routingParameters": { "origin": { "latitude": 37.56617, "longitude": -122.30870 }, "travelMode":"DRIVE", "routeModifiers": { "avoidTolls": 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'
A imagem a seguir mostra um mapa que contém a polilinha da rota, a nova origem (alfinete azul-claro) e os lugares nos resultados da pesquisa (alfinete verde). Observe como todos os resultados estão ao longo da rota, mas passam por San Mateo: